Methods, systems, and apparatus, are described, including computer programs encoded on a computer storage medium, for managing migration of data. The methods, systems, and apparatus may include actions of enabling a server to operate in different states. Generally, the different states of the server may enable code on client devices to be gradually updated from using data stored in an old database to using data stored in a new database in a different format, while enabling the server to continue responding to requests for data from client devices.