I have a large live database. What are the best practices for making schema (doctrine) changes?
When doing development I can just build-all and reload some fixtures and that is usually fine if my data structure changes I can manually adjust the fixtures so they reload correctly. How do I do this w开发者_Python百科ith a large live database with thousands of records?
If I simply pull my changes to my prod server and data dump the rebuild and reload it is likely that the schema changes will prevent the data from reloading (especially if I have removed a column). Is there some standard way of handling this sort of thing?
I also find that table row ordering is not always preserved when reloading this way.
Look into doctrine migrations, this is what they are made for. Can't help you with specifics, I'm a propel guy.
Although Doctrine Migrations can be used, its still in alpha state and should be used with caution.
A more stable solution probably would be making the changes to database schema manually if you know about some database stuff IMO.
Doctrine Migrations: http://www.doctrine-project.org/projects/migrations
精彩评论