2012-03-02 5 views
1

Я создавал модель базы данных, используя приведенную ниже команду.Почему create = dynamic не рекомендуется?

script/myapp2_create.pl model TestDatabase DBIC::Schema \ MyApp2::Schema::TestDatabase create=dynamic \ dbi:SQLite:/tmp/database 

, и я получил предупреждение, которое говорит:

************************************ WARNING ********************************** 
* create=dynamic is DEPRECATED, please use create=static instead.    * 
******************************************************************************* 

Могу ли я узнать, почему создают = динамический осуждается? Я знаю, что

создать = динамический говорит DBIC читать к базе данных каждый раз, когда приложение запускается для определения схемы (макет таблиц, внешних ключей отношений и т.д.)

но что неправильно с этим? Почему create = static предпочтительнее?

ответ

1

Догадка: возможно, потому, что динамическая загрузочная функциональность переместилась на Schema::Loader.

2

От the Catalyst manual:

Хотя DBIx :: Class включает поддержку для создания = динамический режим для автоматического чтения структуры базы данных каждый раз при запуске приложения, его использование не рекомендуется. Хотя это может сделать для «ярких» демонстраций, использование используемого ниже стиля create = static может быть реализовано так же быстро и дает много преимуществ (например, возможность добавлять свои собственные методы в общую структуру DBIC, метод, который мы видим в главе 4).

Смежные вопросы