也是個問題,有的模組安裝會動到MySQL,移除就不能只把模組刪掉!
呵呵!要自己到MySQL修改又怕怕的。
像similar
/**
* Add FULLTEXT index to MySQL MyISAM tables.
* Module does not support InnoDB or PostgreSQL, so no changes for it
*/
function similar_install() {
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
db_query('ALTER TABLE {node_revisions} ENGINE = MYISAM');
db_query('ALTER TABLE {node_revisions} ADD FULLTEXT(title, body)');
}
哪我是要刪掉node_revisions裡的FULLTEXT(title, body)嗎?
問得有點外行^^"
你有裝phpmyadmin嗎? >
你有裝phpmyadmin嗎?
> db_query('ALTER TABLE {node_revisions} ENGINE = MYISAM');
> db_query('ALTER TABLE {node_revisions} ADD FULLTEXT(title, body)');
要用similar entry就要有mysql的Fulltext Index(全文索引,加快全文搜尋的一個mysql的功能)
要用mysql的fulltext index,解析table的引擎就要用MYISAM
事實上,fulltext只是一個index,你用phpmyadmin看那個table的結構,就可以看到有一個索引欄位,是title和body,把那個索引刪掉就行了,千萬別把title和body給刪掉。
老實說,會動到核心資料架構的模組很少,大部分會新增table來達成他的功能,所以要移除,只要刪掉他的table就可以了。不過不刪掉通常也不會影響效率,而且好處是,以後想到要加,就也不用再重新建一次。
留下table的好處,舉一個實際的例子。
drupal的分支civicspace做了一個很好的實做,把很多模組整合起來,並且做一個安裝的介面。我曾經裝過,結果看到一裝好他的資料庫,裡面居然有一百多個table。
不過這樣的好處是,如此包起來,之後可以隨時在管理介面的模組上啟用/停止,資料不會不見,設定也不會不見,雖然好像不乾淨了些,但其實對於維護很方便。
瞭解
不去動他了^^
好問題與好答案,加到手冊裡的FAQ :)