20170407149153451049148.png
magento通過自帶的升級(jí)腳本操作數(shù)據(jù)庫(kù),常見問題的解決方法如下
對(duì)表的修改(增刪改等)沒有生效?
- sql目錄下是否有升級(jí)腳
- 升級(jí)腳本是否正確(看Exception日志)
-
config.xml
中有沒有升級(jí)版本號(hào) - 有沒有清magento的configration緩存
- 如果安裝了redis,有沒有清redis緩存
升級(jí)腳本升級(jí)成功了怎么修改怠李?
可能是想在升級(jí)腳本中對(duì)表插入一個(gè)叫customer_name
的字段,不小心輸入錯(cuò)誤成了customer_wrong_name
弥奸,然后提交了代碼,腳本成功升級(jí)了,錯(cuò)誤的字段也加上了鄙皇,怎么修改呢芜赌?
兩種解決方法:
- 再寫一個(gè)升級(jí)腳本,修改表字段名稱
- 直接修改升級(jí)腳本伴逸,
在core_resource
表中將模塊的版本號(hào)修改為升級(jí)前的版本號(hào)缠沈,清除congfigration緩存后重新升級(jí)
第一種方法適用于已經(jīng)發(fā)布到線上的腳本
第二種方法適用于本地開發(fā),保證自己的代碼都是正確的错蝴,沒有修修補(bǔ)補(bǔ)的內(nèi)容
表中新增字段成功了洲愤,但是對(duì)應(yīng)的字段無法插入正確的值?
如果你是通過$object->setData('a',123)->save();
這樣的對(duì)象方法進(jìn)行的數(shù)據(jù)庫(kù)操作沒有成功顷锰,試試下面的方法:
System/Cache Management/Flush Cache Storage
20170407149153414619038.png
原理:Magento采用的是ORM模型柬赐,表的數(shù)據(jù)結(jié)構(gòu)保存在DDL緩存里,對(duì)表的結(jié)構(gòu)進(jìn)行修改后要更新DDL緩存才能正確地進(jìn)行值的插入