夢見る乙女 – 1つのDBにバージョンの違うMTをインストールする。
【Boys Love NET】
 腐女子&腐男子の櫻井+友人のブログサイトです。
★ アクセスランキング参加中です ★

  
貴女の1票が今後のやる気に繋がります♪よければポチッと1票お願いします(´・ω・`)
…ちなみに、来る度にそれぞれ1票ずつ入れてくれたら小躍りで喜びます(笑) ヽ(´ω`*)ノ

1つのDBにバージョンの違うMTをインストールする。

この記事は約3分で読めます。

データベースが1つしか使えないサーバーで複数のMTをインストールすると、データベースのテーブル名が同じになってしまうため、違うバージョンのMTをインストールしてもすべて同じデータを参照することになってしまい、正しくインストールできません。
…なので、その解決法をメモ代わりにおきます。
…なお、櫻井はデータベース等の知識はそんなにございませんし、この方法も知人から聞いたものですので、参考にする場合はくれぐれも≪自己責任≫で行ってください。
 
また、櫻井が使用したバージョンはMT3.38、4.27、5.01の3つです。


【MT3.38の場合】
 
lib/MT/ObjectDriver/DBI.pm
 20行目 
 sub table_prefix { ‘mt‘ }
   ↓
 sub table_prefix { ‘mt3‘ }
– – – – – – – – – – – – – – – – – – – –
lib/MT/ObjectDriver/DBI/postgres.pm
 87、89、95、164、185、322、334、336行目の計8箇所
  mt_ となっている部分
   ↓
  mt3_ に変更する
– – – – – – – – – – – – – – – – – – – –
lib/MT/ObjectDriver/DBI/mysql.pm
 108、110、117、227行目の計4箇所
 mt_ となっている部分
   ↓
 mt3_ に変更する
= = = = = = = = = = = = = = = = = = = =
 
【MT4.27・5.01の場合】
 
lib/MT/ObjectDriver/Driver/DBI.pm
 19行目
 sub init {
  ~略~
  $param{prefix} ||= ‘mt_‘;
  ~略~
 }
   ↓
 sub init {
  ~略~
  $param{prefix} ||= ‘mt5_‘;
  ~略~
 }
– – – – – – – – – – – – – – – – – – – –
lib/MT/ObjectDriver/Driver/DBD/Legacy.pm
 50行目
 sub db_column_name {
  ~略~
  $table =~ s{ \A mt_ }{}xms;
  ~略~
 }
   ↓
 sub db_column_name {
  ~略~
  $table =~ s{ \A mt5_ }{}xms;
  ~略~
 }
– – – – – – – – – – – – – – – – – – – –
lib/MT/ObjectDriver/Driver/DBD/Pg.pm
 139行目
 return join ‘_’, ‘mt‘,
   ↓
 return join ‘_’, ‘mt5‘,
= = = = = = = = = = = = = = = = = = = =
 
以上です。
…ただ、MTのバージョンが異なる場合は該当箇所も多少異なる可能性がありますので、変更場所の行数はあくまでも目安だとお考えください。
なお、MTは個人1人1インストールまでと決まってますので、ブログのバージョンアップ時に新規インストールをして安全に作業を行いたいな…とかいう場合等にこの方法が役立つのではないかと思います。
 
 
ちなみに、WPの場合は「wp-config.php」に設定箇所があるので、そこを変更するだけでOKです。
   ↓
 $table_prefix = ‘wp_‘; (WP2.9.2なら64行目)

トップへ戻る
タイトルとURLをコピーしました