コンテンツ

ブログ記事

------------------

私がレンタルしているサーバーはロリポップです。(データベースは「MYSQL」)
データベースが1つしか借りれない為、複数のMovable Typeをインストールする際、「mt_」という接頭辞(prefix)がぶつかるのでは・・・?と不安に思い、調べてみました。

以下のような方法で、複数インストールが可能になります。
サーバーにアップロードする前に、「MT-4.xx-ja」フォルダの中にある下記の3つのファイルを探します。

1. lib/MT/ObjectDriver/Driver/DBI.pm
2. lib/MT/ObjectDriver/Driver/DBD/Legacy.pm
3. lib/MT/ObjectDriver/Driver/DBD/Pg.pm

この3つのファイルの中の「mt_」 となっている部分を例えば 「mt2_」 などに変更しておきます。
1.のDBI.pm では 15行目あたりの


sub init {
    my $driver = shift;
    my (%param) = @_;
    $param{prefix} ||= 'mt_';
    $driver->SUPER::init(%param);
    my $opts = $driver->connect_options || {};
    $opts->{RaiseError} = 0;
    $driver->connect_options($opts);
    $driver;
}

「mt_」 となっている部分を例えば 「mt4_」 などに変更します。

次に2.の Legacy.pm 内、50行目あたり、


sub db_column_name {
    my $dbd = shift;
    my ($table, $col) = @_;
    $table =~ s{ \A mt_}{}xms;
    return join('_', $table, $col);
}

「mt_」 となっている部分を例えば 「mt4_」 などに変更します。

3.のPg.pm の 139行目あたり、


return join '_', 'mt',

「mt」 となっている部分を例えば 「mt4」 などに変更します。

以上で、変更は終了です。
そして変更した3つのファイルをあわせてアップします。この状態でインストール作業に進めば、生成されるテーブル名の接頭辞が変更したものに変わりますので、DB が 1つしかなくても複数の MT を運用できます。(必ずインストール作業前にデータベースのバックアップはしておきましょう。)

以下、参考にしたサイトです。(ありがとうございました。)
WWW WATCH : 1つの DB で MT4 を複数インストール

こちらもあわせてどうぞ!

------------------

コメント&トラックバック

------------------

このエントリーにはまだコメントがありません。

コメントをどうぞ(※コメントは承認制になっています。)





トラックバックURL

http://miracle-ysdesign.com/blog/movabletype/52.html/trackback

«前の記事:「ブラウザの入力履歴を個別に削除する方法」を読む

«次の記事:「データベースのバックアップ(エクスポート・インポート)」を読む

最近の記事

カテゴリー

月別アーカイブ