Перестройте модель без потери данных в MySQL для Symfony - PullRequest
3 голосов
/ 15 ноября 2011

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

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

Ответы [ 2 ]

6 голосов
/ 15 ноября 2011

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

Руководство по Doctine

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

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

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

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

3 голосов
/ 16 ноября 2011

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

...