Какой лучший способ сохранить управление версиями базы данных с помощью фреймворка yii php? - PullRequest
4 голосов
/ 13 декабря 2010

Исходя из мира ruby ​​on rails, я ищу эффективный способ создания версии моей базы данных (в случае rails миграция служит для этой цели).

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

Есть ли лучший способ сделать это?

ps Я использую mysql.

Ответы [ 2 ]

4 голосов
/ 13 декабря 2010

В Yii 1.1.6 будет концепция миграций базы данных . Это позволит нам осуществлять манипулирование базой данных в независимом от БД виде с использованием PHP-кода. Подробнее см. http://code.google.com/p/yii/issues/detail?id=1191.

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

В основном: НЕТ . Не то что сток с php.

ОДНАКО ... Схема согласования, например, из команды SHOW CREATE <table_name>;, все еще является надежным способом сделать то, о чем вы говорите, - хотя и весьма нетривиален по своей природе. Вы должны быть очень осведомлены об особенностях определения схемы, если вы хотите обнаружить и воспроизвести это. Вы можете разрабатывать специализированное поле, которое отслеживает номер версии, который вы обновляете при обновлении схемы. Тогда, по крайней мере, вы узнаете, когда нужно обновить и другие цели репликации - сравнив данные в этом поле версии.

Я обычно видел, как это реализовано, - отслеживать все команды ALTER TABLE (и т. Д.) И отслеживать их. Вы можете зарегистрировать что-то вроде файла 'r12345.sql' в SVN для системы автоматического выполнения обновлений БД. Это важно, но я имею в виду, что скрипт php может проверять все файлы .sql схемы db и выполнять каждый из них (последовательно), которые будут воспроизводить изменения в текущей базе данных.

Многое зависит от того, чего вы пытаетесь достичь. Если вы предоставите больше информации, я бы пояснил.

...