Перестройте модель без потери данных в MySQL для Symfony
Каков наилучший способ перестроить модель без потери данных в MySQL для Symfony?
Что если у меня большой сайт и много данных в базе данных, и я хотел бы через шесть месяцев добавить несколько новых полей в базу данных?
2 ответа
Вы можете использовать миграцию.
Так что вам нужно написать миграцию, перенести и построить ваши модели, формы и т. Д.
Я предлагаю вам использовать @denys281 для Symfony1.4 .... в Symfony2, однако это ОЧЕНЬ просто... просто используйте команду:
php app/console doctrine:schema:update --force
Он сравнивает, как должна выглядеть ваша база данных (на основе информации о сопоставлении ваших сущностей) с тем, как она на самом деле выглядит, и генерирует операторы SQL, необходимые для обновления базы данных до того места, где она должна быть. Другими словами, если вы добавите новое свойство с метаданными сопоставления в Product и снова запустите эту задачу, он сгенерирует инструкцию "alter table", необходимую для добавления этого нового столбца в существующую таблицу Product. Так что это не удаляет какие-либо данные
Существует также пакет DoctrineMigrations для Symfony2, если вам нравится этот маршрут -> http://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html