Каков наилучший способ внести существенные изменения в БД в существующий проект Symfony? - PullRequest
1 голос
/ 24 февраля 2011

У меня большая живая база данных. Каковы лучшие практики для внесения изменений в схему (доктрину)?

При разработке я могу просто собрать все и перезагрузить некоторые приборы, и это нормально, если моя структура данных изменится, я могу вручную настроить приборы, чтобы они правильно перезагрузились. Как мне сделать это с большой живой базой данных с тысячами записей?

Если я просто перенесу свои изменения на свой prod-сервер и дампа данных для восстановления и перезагрузки, вполне вероятно, что изменения схемы будут препятствовать перезагрузке данных (особенно если я удалил столбец). Есть ли какой-нибудь стандартный способ обработки такого рода вещей?

Я также обнаружил, что упорядочение строк таблицы не всегда сохраняется при перезагрузке таким образом.

Ответы [ 2 ]

3 голосов
/ 24 февраля 2011

Посмотрите на миграции доктрин, для этого они и созданы.Я не могу помочь вам с подробностями, я везучий парень.

1 голос
/ 25 февраля 2011

Хотя можно использовать Doctrine Migrations, он все еще находится в альфа-состоянии и должен использоваться с осторожностью.

Более стабильным решением, вероятно, было бы внесение изменений в схему базы данных вручную, если вы знаете о некоторых вещах базы данных IMO.

Doctrine Migrations: http://www.doctrine -project.org / projects / migrations

...