Я пытаюсь создать несколько сценариев миграции для CakePHP, но я столкнулся с проблемами со всеми в той или иной форме.
Пожалуйста, посоветуйте мне вариант миграции для Cake, который вы используете в прямом эфире и знаете работы.
Мне нужны следующие "функции":
- Поддержка CakePHP 1.2 (например, миграция CakeDCs будет только вариантом, когда 1.3 стабилен, и мое приложение перенесено в новую кодовую базу)
- Поддержка (или, по крайней мере, не останавливаться) Модели с другой конфигурацией базы данных.
- Поддержка моделей в подпапках приложений/моделей
- Поддержка моделей в плагинах
- Поддерживать таблицы, не соответствующие соглашениям Cake (у меня есть несколько специальных таблиц, которые не имеют отдельного поля первичного ключа и должны содержать их).
- Хорошо работает с автоматическим развертыванием через Capistrano и Git.
Мне не нужны файлы с версиями в стиле рельсов, а файл конфигурации версии git, который сравнивается в реальном времени с существующей схемой. То есть: мне нравится SchemaShell в Cake, кроме того, что он не совместим с большинством моих требований выше.
Я посмотрел и протестировал:
- CakePHP Schema Shell http://book.cakephp.org/view/734/Schema-management-and-migrations
- Миграции CakeDC http://cakedc.com/downloads/view/cakephp_migrations_plugin
- миграции YAML http://github.com/georgious/cakephp-yaml-migrations-and-fixtures
- joelmoss migrations http://code.google.com/p/cakephp-migrations