View
232
Download
5
Category
Preview:
Citation preview
Doctrine Migrations
Шатов МаксимРазработчикshatovms@softline.ru08.11.2013
Резюме
Doctrine Migrations представляет дополнительный функционал поверх слоя абстракции от базы данных (DBAL), позволяющий управлять версиями схемы базы данных и упрощающий процесс внесения изменений в БД. Это очень простой в использовании и мощный инструмент.
Варианты использования:
● В качестве дополнения
● В консоли, зарегистрировав команды
● PHP Binary (PHAR)
Обзор классов
● Doctrine\DBAL\Migrations\AbstractMigration● Doctrine\DBAL\Migrations\Configuration\AbstractFileConfiguration● Doctrine\DBAL\Migrations\Configuration\Configuration● Doctrine\DBAL\Migrations\Configuration\XmlConfiguration● Doctrine\DBAL\Migrations\Configuration\YamlConfiguration● Doctrine\DBAL\Migrations\Migration● Doctrine\DBAL\Migrations\MigrationsVersion● Doctrine\DBAL\Migrations\OutputWriter● Doctrine\DBAL\Migrations\Tools\Console\Command\AbstractCommand● Doctrine\DBAL\Migrations\Tools\Console\Command\DiffCommand● Doctrine\DBAL\Migrations\Tools\Console\Command\ExecuteCommand● Doctrine\DBAL\Migrations\Tools\Console\Command\GenerateCommand● Doctrine\DBAL\Migrations\Tools\Console\Command\MigrateCommand● Doctrine\DBAL\Migrations\Tools\Console\Command\StatusCommand● Doctrine\DBAL\Migrations\Tools\Console\Command\VersionCommand● Doctrine\DBAL\Migrations\Version
Класс миграции
Работа со схемой
Выполнение sql
Подключение Bitrix API
Пример миграционного файла
Преимущества
● Возможность генерации миграций
● Не нужно заботиться о номере миграции
● Информация о выполненных миграциях храниться в БД
● Проверка статуса миграций
● Для того чтобы применить все доступные миграции необходимо выполнить команду
● Откат миграций
● Возможен/предусмотрен пропуск миграций
● Гибкий механизм управления миграциями
Возможные проблемы
● Unknown database type enum requested
Doctrine не поддерживает этот тип поля и некоторые другие (SET, например).
Решение:
В конфигурационный файл добавить:
Непосредственно в коде определить соответствие типов
Интеграция с PHPStorm/IntelliJ IDEA
Интеграция с PHPStorm/IntelliJ IDEA
Интеграция с PHPStorm/IntelliJ IDEA
Спасибо за внимание!Вопросы?
Recommended