我正在使用下面给出的命令创建数据库模型。
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是首选?
答案 0 :(得分:2)
虽然DBIx :: Class包含了对create = dynamic模式的支持,以便在每次应用程序启动时自动读取数据库结构,但不再推荐使用它。虽然它可以用于“华而不实”的演示,但我们在下面使用的create = static模式的使用可以同样快速地实现并提供许多优点(例如能够将自己的方法添加到整个DBIC框架,这是一种技术,我们在第4章中看到。
答案 1 :(得分:1)
猜测:可能是因为动态加载功能已移至Schema::Loader。