[提問交流]如何通過指令碼升級或新增OneThink獨立模型的欄位?

發表於2020-04-04
hi..大家好。。我在升級weiphp的過程中遇到一個問題,希望大家能指點我。

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升級一個模型的欄位、而不是通過模型管理介面?

非常感謝
回覆

相關文章