Почему create = dynamic не рекомендуется? - PullRequest
1 голос
/ 02 марта 2012

Я создавал модель базы данных, используя приведенную ниже команду.

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.             *
*******************************************************************************

Могу ли я знать, почему create = dynamic устарела? Я знаю, что

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

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

Ответы [ 2 ]

2 голосов
/ 02 марта 2012

С Руководство по Catalyst :

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

1 голос
/ 02 марта 2012

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

...