Symfony 1.4.4 - миграция доктрин и установка плагинов - PullRequest
1 голос
/ 27 октября 2011

Я делаю свои первые шаги в мире плагинов Symfony, и я немного потерял ...

У меня есть приложение с базой данных. Обычно, когда мне нужен новый стол или поле я делаю миграцию, обновляя свой schema.yml, вызывая создать-миграцию-разность и построить - все классы - и-мигрировать Symfony команды.

Сегодня мне нужно установить плагин (например, sfCombinePlugin), чтобы минимизировать мои js и css скрипты. Я установил его через Symfony плагин: установить команду, все в порядке, у меня есть все мои файлы в плагинах папка. Я следую за прочитанным мной, он говорит, чтобы построить модель, поэтому я запускаю команда doctrine: build-model, и папка sfCombinePlugin появляется в моя папка lib / model / doctrine.

Но теперь я застрял, мне нужно добавить таблицу в моей базе данных. В чтении мне это говорит, чтобы сгенерировать sql через доктрину: build-sql, и запустить сгенерированный sql в моей базе данных. Но я вижу некоторые проблемы ...

Будет ли он стирать мои данные при запуске файла sql? Я уверен, что так и будет, потому что это создает базу данных с нуля ...

Итак, я бы хотел использовать миграцию, как обычно. Но когда я бегу генерировать-миграцию-различие, это не принимает во внимание schema.yml из папки плагинов. Это нормально или это ошибка?

Я думал о копировании содержимого плагина schema.yml внутри файл приложения schema.yml, но я не уверен, что это хорошая идея, потому что классы моделей будут находиться не в папке sfCombinePlugin, а в общая модель папки. И это звучит не очень хорошо.

1 Ответ

0 голосов
/ 27 октября 2011

build-sql просто создаст файлы SQL; insert-sql перезапишет базу данных. Когда я делаю добавление таблиц таким образом, я просто смотрю на сгенерированный SQL в data/sql и добавляю таблицы вручную. s2 имеет встроенные миграции, IIRC. Для s1.4 посмотрите http://www.symfony -project.org / plugins / sfPropelMigrationsLightPlugin - только что найденный через Google, я никогда не использовал его.

...