Как Propel определяет, какую базу данных использовать для инструментов командной строки?

Как Propel определяет, какую базу данных использовать для инструментов командной строки (например, "propel:build-all")? Я настраиваю две среды (производственную и промежуточную), и базы данных будут разными для каждой.

Это «propel.ini» или «databases.yml»? Если первое, symfony автоматически генерирует этот файл?

Буду очень признателен за любую помощь. Спасибо!


person James Skidmore    schedule 02.08.2009    source источник


Ответы (2)


Вы можете переключить движок базы данных в командной строке:

Это сгенерирует код для MySQL

symfony propel:build-all --phing-arg="Dpropel.database=mysql"

в то время как это сгенерирует код для PostgreSQL

symfony propel:build-all --phing-arg="Dpropel.database=pgsql"

Если вы используете несколько баз данных, вы определяете основную в propel.ini, а остальные — в databases.yml.

Я не уверен, что вы можете сгенерировать propel.ini, но вы можете скачать пример с здесь

person RaYell    schedule 02.08.2009
comment
Спасибо за совет RaYell. Это близко к выводу, к которому я пришел для себя, за исключением того, что вы можете загрузить базу данных из выбранной вами среды (см. ниже). Еще раз спасибо! - person James Skidmore; 02.08.2009

Вы можете указать, какую среду использовать в задачах Propel (и многих других задачах), используя аргумент env:

./symfony propel:build-all-load --env=staging
person James Skidmore    schedule 02.08.2009