Существует ли отдельная альтернатива миграциям схемы базы данных, подобным activerecord? - PullRequest
1 голос
/ 12 декабря 2008

Существует ли отдельная альтернатива миграциям, подобным activerecord. Что-то вроде скрипта, который может отслеживать текущую версию схемы и применять ожидающие миграции. По сути, эти файлы миграции могут быть простыми файлами SQL, что-то вроде:

[timestamp]_create_users.sql
reverse_[timestamp]_create_users.sql

Язык реализации не очень важен - это может быть все, что обычно устанавливается / предустанавливается в * nix системах.

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

Ответы [ 6 ]

2 голосов
/ 12 декабря 2008

Попробуйте http://freshmeat.net/projects/liquibase/

Если вы используете MySQL специально, взгляните на: http://www.mysqldiff.org/ Я использовал это для синхронизации схемы двух баз данных (поэтому вам придется применить изменения к «мастеру»).

Там также http://phpmyversion.sourceforge.net/

1 голос
/ 12 декабря 2008
0 голосов
/ 05 июня 2009

https://sourceforge.net/projects/migrations/

Это инструмент для управления структурными изменениями схем базы данных на основе миграций Active Record из Rails. Особенности взаимодействия нескольких схем, подстановка значений во время выполнения, генерация скриптов и т. Д.

Плюс он имеет интерфейс командной строки и графический интерфейс. Также активно развивается, и наша компания использует его уже более года, и это значительно улучшило жизнь каждого: от разработки до dbas, от операций до рационализированных развертываний и откатов. Управление принимает изменения в БД как должное сейчас (иногда это не очень хорошо), потому что благодаря этому инструменту оно теперь настолько автоматизировано.

0 голосов
/ 12 декабря 2008

Библиотека ezComponents имеет компонент схемы базы данных , который может сравнивать и применять различия схемы между двумя базами данных (или базой данных и файлом).

0 голосов
/ 12 декабря 2008

Оформить AutoPatch

0 голосов
/ 12 декабря 2008

Не вариант Linux, но может ответить на этот вопрос для некоторых людей:

SQLYog может сделать это для MySQL - это инструмент Windows GUI:

http://www.webyog.com/en/

Он может (помимо прочего) сравнивать схемы и делать одну схему похожей на другую, или генерировать sql, необходимый для этого, если вы хотите сделать это вместо этого. Мы используем его для создания файлов патчей sql, которые мы можем использовать для обновлений. Это проще, чем поддерживать файл вручную, когда вы вносите изменения в разработку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...