symfony3 Doctrine -- Миграции
Primary tabs
Установим пакет
Выполняем команду :
composer require doctrine/doctrine-migrations-bundle "^1.0"
и подключаем пакет в AppKernel.php :
// app/AppKernel.php public function registerBundles() { $bundles = array( //... new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(), ); }
а также добавляем настройки в config.yml :
# app/config/config.yml doctrine_migrations: dir_name: "%kernel.root_dir%/DoctrineMigrations" namespace: Application\Migrations table_name: migration_versions name: Application Migrations organize_migrations: false # Version >=1.2 Possible values are: "BY_YEAR", "BY_YEAR_AND_MONTH", false
Подготовка окончена, можем приступать к работе.
Команды миграций
Переходим в терминале в папку с нашим проектом и вводим команду
php bin/console doctrine:migrations *а далее один из вариантов ниже
- :diff -- создаёт миграцию для сравнения Вашей схемы со схемой в базе данных. При выполнении данной миграции оба варианта будут приведены
- :execute -- применяет конкретную миграцию, нужно указать её номер:
php bin/console doctrine:migrations:execute 20170925141401
- :generate -- генерирует шаблон для создания новой миграции
- :migrate -- накатывает все возможные миграции
- :status -- выводит статус всех миграций проекта
- :version -- Даёт возможность накатить или откатить определённую миграцию
php bin/console doctrine:migrations:version 20170925141401 --add
php bin/console doctrine:migrations:version 20170925141401 --delete
Symfony4
В Symfony 4 создание миграции происходит с помощью команды:
php bin/console make:migration
Данная команда одновременно создаёт класс миграции, определяет различия между БД и структурой сущностей и сразу добавляет в класс код, удаляющий эти различия.
Источник
Документация Symfony: https://symfony.com/doc/current/bundles/...
- Log in to post comments
- 8640 reads
vedro-compota
Mon, 09/25/2017 - 21:06
Permalink
добавил в залоговке что это
добавил в залоговке что это именно Doctrine -- так как symfony вообще говоря может работать с разными библиотеками ORM
_____________
матфак вгу и остальная классика =)