ot文档说“通过模型管理建模后,不能手动去数据库修改或新增字段,否则被改动的字段将无法被管理。”
目前的情况是,我需要给某个独立模型新增一个字段。升级脚本为
“ALTER TABLE `wp_custom_menu` ADD COLUMN `type` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'click' COMMENT '类型' AFTER `token`;”
在运行上述脚本后,phpmyadmin查看已经更新了字段。此外,我还更新了model表:$modelArr = array (
'custom_menu' => array (
'field_sort' => '{"1":["sort","pid","title","type","keyword","url"]}',
'list_grid' => 'title:10%菜单名
type|get_name_by_status:类型
keyword:10%关联关键词
url:50%关联URL
sort:5%排序号
id:10%操作:[EDIT]|编辑,[DELETE]|删除'
)
);
foreach ( $modelArr as $name => $save ) {
$res = M ( 'model' )->where ( "name='$name'" )->save ( $save );
// dump ( $res );
// lastsql ();
}
目前得到的结果如下:如您所见,这不是我们需要的效果。而这样的需求,在进行应用的版本升级过程 中应该是很常用的。一定是我哪里不对,急求大师指点:怎么通过脚本或者php升级一个模型的字段、而不是通过模型管理界面?
非常感谢
最佳答案
