Перестройте модель без потери данных в MySQL для Symfony

Каков наилучший способ перестроить модель без потери данных в MySQL для Symfony?

Что если у меня большой сайт и много данных в базе данных, и я хотел бы через шесть месяцев добавить несколько новых полей в базу данных?

2 ответа

Решение

Вы можете использовать миграцию.

Учебное пособие

Задача Symfony для миграций

Презентация слайдов

Презентация слайдов

Так что вам нужно написать миграцию, перенести и построить ваши модели, формы и т. Д.

Я предлагаю вам использовать @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

Другие вопросы по тегам