Команда doctrine:migrations:migrate
Команда doctrine:migrations:migrate выполняет
все неприменённые миграции к базе данных. Она
запускает SQL-запросы, описанные в файлах миграций,
и переводит схему БД в актуальное состояние.
Первым необязательным параметром передаётся
версия миграции, до которой нужно выполнить
миграции. Если версия не указана, применяются
все доступные миграции.
Синтаксис
php bin/console doctrine:migrations:migrate [version] [options]
Пример
Давайте применим все неприменённые миграции к базе данных:
php bin/console doctrine:migrations:migrate
Результат выполнения команды:
WARNING! You are about to execute a migration in database "app" that could result in schema changes and data loss.
Are you sure you wish to continue? (yes/no) [yes]:
> yes
[OK] Successfully migrated to version 20240101120000
Пример
Давайте применим миграции до конкретной версии:
php bin/console doctrine:migrations:migrate 20240101120000
Результат выполнения команды:
[OK] Successfully migrated to version 20240101120000
Пример
Давайте применим миграции без интерактивного подтверждения:
php bin/console doctrine:migrations:migrate --no-interaction
Результат выполнения команды:
[OK] Successfully migrated to version 20240101120000
Пример
Давайте создадим файл миграции и применим его к базе данных:
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20240101120000 extends AbstractMigration
{
public function getDescription(): string
{
return 'Create article table';
}
public function up(Schema $schema): void
{
$this->addSql('CREATE TABLE article (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
}
public function down(Schema $schema): void
{
$this->addSql('DROP TABLE article');
}
}
?>
Теперь применим миграцию:
php bin/console doctrine:migrations:migrate
Результат выполнения команды:
[OK] Successfully migrated to version 20240101120000
Смотрите также
-
команда
doctrine:migrations:diff,
которая генерирует миграцию на основе изменений сущностей -
команда
doctrine:migrations:status,
которая показывает статус миграций -
команда
doctrine:migrations:generate,
которая создаёт пустой файл миграции -
команда
doctrine:database:create,
которая создаёт базу данных