Drupal Module の設定でコケたときの処置

Secure Pagesというモジュールを試してみようと思って、いつものようにdrupal/modulesに放り込んでチェックボックスをONにして設定を保存したら、見事 "Cannot connect to the server" というエラーによって接続不可能になってしまった。(また無駄なことを。。)

とりあえず、モジュールのファイル名を"securepages.module.aaa"とかに変更すれば動くけど、モジュールとしてロードされないから、チェックボックスをOFFにする、ということができない。

モジュールの登録とか設定がどのように保存されているか知らなかったので、とりあえずモジュールのソースを読んでみるが、どのテーブルにもファイルにも書き込みをしている様子はない。
で、多分Drupalがモジュールの設定を保持する仕組みを持ってるんだろうと思って、DBのテーブルを見ていたら、あったあった。Systemという名前のテーブルに、モジュールの情報が保持してあった。

で、このテーブルの"filename"フィールドに"modules/securepages/securepages.module"と書いてあるので、これを削除。多分"status"フィールドを"0"にしても良いのだろうけど、どうせモジュール設定画面に入ったときにまた追加されるだろうからいいや。

これで再度サイトを読み込んでみると、無事に読み込んだ上に、モジュール設定画面でもsecure pagesモジュールがチェックボックスOFFの状態で表示されてる。やれやれ。テーブルを作成するようなモジュールだと、この手法で上手く行くかどうか分かんないけど、とりあえず一つ勉強になりました。