Symfony. Консольные команды для работы с миграциями.

Doctrine ORM предоставляет разработчику удобные средства выборки данных. Это и мощный DQL для работы в объектно-ориентированном ключе, и удобный Query Builder, простой и понятный в использовании. Они покрывают большую часть потребностей, но иногда возникает необходимость использовать SQL запросы, оптимизированные или специфичные для конкретной СУБД. Для работы с результатами запросов в коде важно понимание того, как работает маппинг в Doctrine.

Что такое миграции? Это что-то вроде системы контроля версий для вашей базы данных. Они позволяют вашей команде изменять структуру БД, в то же время оставаясь в курсе изменений других участников. Миграции обычно идут рука об руку с построителем структур для более простого обращения с архитектурой вашей базы данных. Если вы когда-нибудь просили коллегу вручную добавить столбец в его локальную БД, значит вы сталкивались с проблемой, которую решают миграции БД.

Команды Symfony для работы с Doctrine

php bin/console list doctrine — Выводит все возможные консольных команд для работы с Doctrine.

php bin/console doctrine:query:sql -h — Любая консольная команда с ключом -h выведет подробную справку по команде.

php bin/console make:entity — Создает новую сущность Entity для таблиц в БД. Также команда позволяет добавить новые свойства в уже существующий Entity.

php bin/console doctrine:cache:clear — Очищает кеш Doctrine.

php bin/console doctrine:database:create — Создает структуру БД через Doctrine.

php bin/console doctrine:database:drop — Удаляет БД через Doctrine.

php bin/console doctrine:database:import — Импортирует файлы SQL непосредственно в базу данных.

php bin/console doctrine:ensure-production-settings — Проверяет, что Doctrine правильно настроена для production среды

php bin/console doctrine:fixtures:load — Загружает fixtures в БД.

php bin/console doctrine:fixtures:load —append

php bin/console doctrine:fixtures:load —purge-with-truncate

php bin/console doctrine:query:sql -V

Команды Symfony для работы с миграциями

php bin/console make:migration — Создает файл миграции с SQL кодом

php bin/console doctrine:migrations:migrate — Выполняет все миграции (будут применены только ранее не выполненные) (одним из вариантов использования: эту команду следует запускать на продакшене при развертывании).

php bin/console doctrine:migrations:execute —up 20200405164707 — Применяет конкретную миграцию, для этого после —up передаем аргументом номер миграции (20200405164707).

php bin/console doctrine:migrations:execute —down 20200405164707 — Откатывает конкретную миграцию, для этого после —down передаем аргументом номер миграции (20200405164707).

php bin/console doctrine:migration:generate — Создает шаблон файла миграции (будет без sql кода)

admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

2 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

2 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

2 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

2 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

2 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

2 недели ago