Symfony: Rebuild from Schema.yml Without Loss of Data
As my test database became more complex, I hated entering data again after doing a propel-build-all. Following these commands, you can save your database content after rebuilding your database from your schema file.
After changing the schema.yml file, the user typically uses propel to rebuild. One of the unfortunate side effects of this is loss of data in the database.
Following these commands will dump the database, rebuild from the new schema.yml file, and then reload the content.
Note: I would trust this on test data. Consider additional backup measures before using this on a real database.
frontend is my application name here. dump.yml can be named whatever yml is desired.
php symfony propel-dump-data frontend dump.yml
php symfony cc
php symfony propel-build-all-load frontend
In order, this does the following:
- This dumps the database associated with the frontend app.
- Clears the symfony cache
- Then does a build-all and reloads the database.
Enjoy more coding and less test data generating.






mo said on April 7, 2009
your articles are really amazing; you really write specific things, which is extremely useful
hgf said on March 18, 2010
pfdfdfd ffsd sf d
Nantacoben Kim said on September 1, 2010
very helpful even i use doctrine. For doctrine users it would be php symfony doctrine:data-dump frontend dump.yml
vivienne westwood said on October 11, 2010
useful