Php Db синхронизация - PullRequest
       26

Php Db синхронизация

3 голосов
/ 19 апреля 2009

У меня есть локальный сервер, на котором я выполняю все свои тесты и работу. Когда я закончу, я просто загружаю схему БД вместе с соответствующим кодом. Однако проблема возникает, когда я делаю некоторые изменения в схеме. Я должен вручную ввести запрос «изменить таблицу» на моем живом сервере.

Есть ли способ получить инкрементные изменения, которые произошли в схеме БД, чтобы я мог просто применить новые? Или я должен вручную отслеживать?

Если я использую mysqldump, то он создает схему окончательного БД (не с таблицей изменения и т. Д.).

Большое спасибо.

Ответы [ 5 ]

2 голосов
/ 19 апреля 2009

У меня есть скрипты delta sql, которые идут на рабочий сервер вместе с новым кодом. Я пишу все, поэтому изменение приложения с версии X на версию Y происходит автоматически. У некоторых людей также есть сценарии отмены на случай, если что-то пойдет не так.

1 голос
/ 19 апреля 2009

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

0 голосов
/ 07 декабря 2010

Вы можете использовать этот инструмент для автоматизации процесса ^ http://hg.antonoff.info/idler/mmp/wiki/Home

Требуется только PHP (но версия> = 5.3)

0 голосов
/ 19 апреля 2009

MySQL Workbench позволяет экспортировать сценарии ALTER (File -> Export -> Forward Engineer SQL ALTER Script). Сначала вам нужно будет импортировать существующую базу данных и применить к ней ваши изменения. Коммерческая версия позволяет вам перепроектировать живую базу данных, а сообщество делает это, импортируя вместо этого скрипт CREATE (это будет простой дамп существующей структуры). В качестве альтернативы вы можете выполнить реверс-инжиниринг действующей базы данных с помощью DBDesigner 4 , сохранить все в файл XML Model и импортировать его, но вы потеряете такие вещи, как кодировка по умолчанию и такие ...

0 голосов
/ 19 апреля 2009

Выезд Liquibase . Это Java, но работает довольно хорошо.

...