Symfony migráció
Adatbázis migráció-ra is van eszköz symfony-ban, ennek nézzük meg a parancsait. |
|
Egy darab új migrációs fájl létrehozása:# php bin/console doctrine:migrations:generate Ha futtatni szeretnénk egy darab migrációt vagy vissza szeretnénk vonni: # migrations:execute --up 20201211151514 # migrations:execute --down 20201211151514 Ha az összes különbséget szeretnénk le generálni, akkor a következő parancsal készít egy migrációs fájlt: # php bin/console doctrine:migrations:diff Futtatjuk az összes migrációt: # php bin/console doctrine:migrations:migrate Migráció állapota: # php bin/console doctrine:migrations:status Egy példa migrációs fájl, használhatunk natív sql-t, vagy az "sqlbuildert" is: <?php declare(strict_types=1); namespace DoctrineMigrations; use Doctrine\DBAL\Schema\Schema; use Doctrine\Migrations\AbstractMigration; /** * Auto-generated Migration: Please modify to your needs! */ final class Version20201211151514 extends AbstractMigration { public function getDescription() : string { return ''; } public function up(Schema $schema) : void { // this up() migration is auto-generated, please modify it to your needs $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.'); $this->addSql('CREATE TABLE city (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(250) NOT NULL, zipcode VARCHAR(4) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB'); $table = $schema->createTable('city2'); $table->addColumn('id', 'integer', array('unsigned' => true)); $table->addColumn('name', 'string', array('length' => 250)); $table->addColumn('zipcode', 'string', array('length' => 4)); $table->setPrimaryKey(array('id')); } public function down(Schema $schema) : void { // this down() migration is auto-generated, please modify it to your needs $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.'); $this->addSql('DROP TABLE city'); $schema->dropTable('city2'); } } Olvasnivaló: https://symfony.com/doc/2.2/bundles/DoctrineMigrationsBundle/index.html |
2020.09.19. |
Figyelem! Az itt olvasható leírások, nem teljesek és nem biztos, hogy pontosak. Nem
frissülnek folyamatosan, ezért nem mindegyik használható az aktuális verziójú rendszerekben. Mindenki saját
felelősségére használja az itt található ötleteket. Az esetleges károkért nem vállalunk felelősséget.