Существует ли отдельная альтернатива миграциям схемы базы данных, подобным activerecord?

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

[Временная метка] _create_users.sql
reverse_ [временная метка] _create_users.sql

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

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

12.12.2008 09:46:31
6 ОТВЕТОВ

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

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

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

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

0
12.12.2008 10:06:53
Я тоже ... но у нас есть только одна лицензия - у нас есть виртуальная машина с запущенными окнами на сервере внизу для отдельных лицензированных продуктов, она установлена ​​на нем, и мы все имеем доступ через удаленный рабочий стол. Так что в любом случае это не имеет значения.
benlumley 12.12.2008 10:06:38

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

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

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

2
12.12.2008 12:54:19
Спасибо за ссылку на liquibase (хотя это и Java)
Yurii Rashkovskii 12.12.2008 18:33:30
Несмотря на то, что он основан на Java, это один из лучших автономных инструментов управления наборами изменений схемы, с которыми я работал. Кроме того, его легко интегрировать в систему управления сборкой / конфигурацией.
David 13.11.2009 07:10:59

Проверьте AutoPatch

0
12.12.2008 12:59:02
Спасибо! Хотя это тяжелое Java-решение, оно кажется очень близким к тому, что мне нужно :)
Yurii Rashkovskii 12.12.2008 18:27:36

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

0
12.12.2008 13:20:26
1
12.12.2008 20:59:27

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

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

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

0
5.06.2009 01:55:27