您在這裡

移除模組

Drupaler's 的頭像
Drupaler (未驗證) 在 2006-05-17 (三) 01:51 發表

也是個問題,有的模組安裝會動到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嗎?
> 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就可以了。不過不刪掉通常也不會影響效率,而且好處是,以後想到要加,就也不用再重新建一次。

--
from open mind to open source~

留下table的好處,舉一個實際的例子。

drupal的分支civicspace做了一個很好的實做,把很多模組整合起來,並且做一個安裝的介面。我曾經裝過,結果看到一裝好他的資料庫,裡面居然有一百多個table。

不過這樣的好處是,如此包起來,之後可以隨時在管理介面的模組上啟用/停止,資料不會不見,設定也不會不見,雖然好像不乾淨了些,但其實對於維護很方便。

--
from open mind to open source~