This page generates a new Doctrine migration file and shows how to write its up and down methods.
Migrations are used to create and/or edit the database structure. To generate a new migration file, use this command:
php vendor/bin/doctrine-migrations migrations:generate
It creates a PHP file like this one /data/doctrine/migrations/Version20220606131835.php that can then be edited in the IDE.
You can add new queries in:
public function up - these are executed when the migration is run.public function down - these are optional queries that undo the above changes.This example creates a new column named test.
Add this in public function up:
$this->addSql('ALTER TABLE user ADD test VARCHAR(255) NOT NULL');
And its opposite in public function down:
$this->addSql('ALTER TABLE user DROP test');
A: In data/doctrine/migrations, in the Frontend\Migrations namespace, as set in config/migrations.php.
A: Run php vendor/bin/doctrine-migrations migrate prev, which runs the down method of the latest executed migration.
A: Yes. After changing your entities, run php vendor/bin/doctrine-migrations diff, which generates a migration from the difference between the entity mapping and the database.
Review the generated SQL before you run it.
A: config/migrations.php enables transactional and all_or_nothing.
MySQL and MariaDB commit schema changes implicitly, so a failed ALTER TABLE may still leave earlier statements applied.