Symfony + Doctrine: How to rebuild your DB

This post is about rebuilding your database from a schema.yml file in your Symfony project (Symfony version 1.4.8 embedded in the project at /path/to/your/project/lib/vendor/symfony/lib).

If you make a change in your config/doctrine/schema.yml, run these commands from your project’s root directory.


./symfony doctrine:drop-db
./symfony doctrine:build-model
./symfony doctrine:build-sql
./symfony doctrine:create-db
./symfony doctrine:insert-sql

drop-db drops the database.
build-model creates the model from the schema file.
build-sql creates the SQL from the model.
create-db creates the database configured in config/databases.yml with the name of your project.
insert-sql inserts the SQL into the fresh database.

Note: You must drop your database in order to insert the generated SQL. The generated SQL does not include DROP TABLE or CREATE TABLE IF NOT EXISTS.
Note: These steps are for a development environment. If you run these commands you’ll lose all your data. If you have data you need saved. Make sure you run:

./symfony doctrine:data-dump

before dropping your database. This will store your data into a YAML file like data/fixtures/data.yml. After you’ve done the above steps, you can:

./symfony doctrine:data-load

in order to reinsert the data into the database.

Colin Foley

Colin Foley

Colin's programming career began in high school where he began to learn the ins and outs of the Java language. While attending Lehigh University, he focused his efforts on web development. Ever since then, the majority of his work experience has been developing websites with PHP, MySQL, Adobe ColdFusion, J2EE, HTML and CSS.

Categories

Search

Recent Posts

Tags