Ответ 1
Я попытаюсь обновить эту "тему" своими выводами после того, как вы быстро попробуете плагин Juan и все остальные, кроме тех, что указаны в CakeDC... так как у меня нет соответствующего приложения, обновленного для CakePHP 1.3, и эта миграция плагин требует 1.3
Я должен отметить, что комментарии о неудачах и плагинах, которые не работают для меня, следует читать в первую очередь как "не подходящие для МОИХ потребностей" или "ошибки, которые я сделал при их попытке". В некоторой степени некоторые могут читать такие комментарии, как просьба о пересмотре документации. Я не подразумеваю, что тестируемые плагины по своей сути ошибочны, ошибочны или сломаны. Я уверен, что все они работают при правильных обстоятельствах и для правильных рабочих процессов.
Сетка схемы CakePHP
-
Имеет ли простая концепция. Схема связана с кодом и SCM, используемым для управления его версиями.
-
Отлично работает. Этот момент:
-
Не подходит для автоматического развертывания. То есть Команда update может изменять только таблицы, а не обрабатывать новые или удаленные таблицы. Они обрабатываются своими командами оболочки, которые затрудняют развертывание Cap-стиля. Кроме того, при запуске обновлений с новой таблицей будут возникать ошибки, если script пытается "изменить" несуществующую таблицу. Я уверен, что если это предназначено или проблема, которую я испытываю. (Прошу в группе google еще не ответить)
Переходы CakeDC
- Звучит так, будто они взяли оболочку схемы и "исправили" ее. Документы объясняют процедуру несколько более сложной (чтобы объяснить хотя бы), но она может работать так, как я хочу.
Переходы YAML, joelmoss и juan
-
Все они разделяют концепцию рельсов версий файлов и "подъем" и "сбой" между ними. Мне это нравится меньше, так как я не вижу ситуации для своих проектов, когда миграция схемы будет обновляться или откатываться, не делая то же самое с исходным кодом. Я также могу жить без возможности переноса существующих данных в миграции script, поскольку я предвижу это как очень редкое явление для меня.
-
Все это предполагает, что я не прикасаюсь к базе данных с помощью других средств, кроме сценариев миграции. Я не могу открыть свой любимый MySql-GUI и играть до тех пор, пока не буду счастлив, а затем создаю "diff" через эти скрипты. (По крайней мере, я не нашел документированных способов сделать это во время моих коротких тестов.) Мне нужно вручную записать изменения в файлах YAML или php. Поскольку я начинаю работать над существующим проектом с примерно 30 таблицами, мне не нравится идея переписать эту схему вручную. Но некоторые из этих плагинов не создали хороший начальный пункт файл со всеми моими таблицами. Возможно, это было связано с моим кратким тестированием и/или невозможностью найти документацию для такой функции. Я не погружался в исходный код для большинства из них.
В следующем шаге мы хотим обновить свой проект до CakePHP 1.3 и попробовать последний плагин. Но я не знаю, когда у меня будет время для этого. (т.е. никто не задерживает дыхание)
Если вы думаете, что я неправильно понял, как работает какой-либо из этих плагинов, и вы можете предложить хиты о том, как заставить их работать на меня. Я был бы рад ответить на комментарий.