MovableType の各データカラムのサイズ制限について

Posted by
ぴろり
Posted at
2010/02/18 19:36
Trackbacks
関連記事 (1)
Comments
コメント (2)
Post Comment
コメントできます
Category
MovableType カテゴリ

Twitter / 角めぐみ
Movable Typeのカテゴリ名に文字数制限があるかどうか、どなたかご存知ですか?その制限を解除する方法があれば教えてくださいませ!

 制限はあります。…けれど、具体的に幾つ? というのは調べたことがなかったのでこの際まとめてみました。

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  

データベースに格納できる各カラムごとのサイズ

 参照したソースコードは MovableType 5.01-ja。

カラム名使途サイズ(bytes)
MT::Asset.labelアセットのラベル255
MT::Asset.urlアセットの絶対URL255
MT::Asset.descriptionアセットの説明文65,535
MT::Asset.file_pathアセットのファイル実体のファイルパス部分255
MT::Asset.file_nameアセットのファイル実体のファイル名部分255
MT::Asset.file_extアセットのファイル実体のファイル拡張子部分20
カラム名使途サイズ(bytes)
MT::Author.nameユーザのログイン名255
MT::Author.nicknameユーザの表示名255
MT::Author.emailユーザのメールアドレス127
MT::Author.urlユーザのホームページアドレス255
MT::Author.hint(旧式) ユーザのパスワード回復のためのヒント75
カラム名使途サイズ(bytes)
MT::Blog.theme_idブログに適用されたテーマのID255
MT::Blog.nameブログの名前255
MT::Blog.descriptionブログの説明65,535
MT::Blog.site_pathブログのサイト上の物理パス255
MT::Blog.site_urlブログの公開URL255
MT::Blog.archive_urlアーカイブのサイト上の物理パス255
MT::Blog.archive_pathアーカイブの公開URL255
MT::Blog.sanitize_spec禁止するHTMLのリスト255
カラム名使途サイズ(bytes)
MT::Category.labelカテゴリの名前100
MT::Category.descriptionカテゴリの説明65,535
MT::Category.basenameカテゴリのベースネーム255
カラム名使途サイズ(bytes)
MT::Comment.authorコメント投稿者の名前100
MT::Comment.emailコメント投稿者のメールアドレス127
MT::Comment.urlコメント投稿者のURL255
MT::Comment.textコメント本文65,535
カラム名使途サイズ(bytes)
MT::Entry.titleブログ記事のタイトル255
MT::Entry.excerptブログ記事の概要分65,535
MT::Entry.textブログ記事の本文65,535
MT::Entry.text_moreブログ記事の追記65,535
MT::Entry.to_ping_urlsトラックバック送信先アドレス65,535
MT::Entry.keywordsブログ記事のキーワード65,535
MT::Entry.basenameブログ記事のベースネーム255
カラム名使途サイズ(bytes)
MT::Log.messageログのメッセージ本文65,535
カラム名使途サイズ(bytes)
MT::Notification.name通知リストのユーザ名50
MT::Notification.email通知リストのユーザのメールアドレス75
MT::Notification.url通知リストのユーザのURL255
カラム名使途サイズ(bytes)
MT::PluginData.pluginプラグインデータのプラグイン名50
MT::PluginData.keyプラグインデータのキーの名前255
MT::PluginData.data格納されるデータ65,535
カラム名使途サイズ(bytes)
MT::Role.nameロールの名前255
MT::Role.descriptionロールの説明文65,535
カラム名使途サイズ(bytes)
MT::Tag.nameタグの名前255
カラム名使途サイズ(bytes)
MT::TBPing.title受信したトラックバックの記事タイトル255
MT::TBPing.excerpt受信したトラックバックの概要分65,535
MT::TBPing.source_url受信したトラックバックの送信元URL255
MT::TBPing.blog_name受信したトラックバックの送信元ブログ名255
カラム名使途サイズ(bytes)
MT::Template.nameテンプレートの名前255
MT::Template.outfileテンプレートの出力ファイル名/パス255
MT::Template.textテンプレートの内容65,535
MT::Template.linked_fileテンプレートにリンクしているファイルのパス255
MT::Template.identifier'テンプレートの内部識別名50
カラム名使途サイズ(bytes)
MT::TemplateMap.file_templateテンプレートのファイル名生成テンプレート文字列255

 各カラムのサイズは文字数ではなく、バイト数である点に注意が必要です。例えば、文字コードが UTF-8 の場合、半角英数文字は 1 文字=1 バイトですが、日本語文字の場合は 1 文字=3 バイトを占めることが多いです。このあたりはデータベースの文字コード設定に関係してきますので、お使いのデータベースを確認してみてください。

カラムのサイズを変更するには?

 おそらく現在で十分な設定値であると思いますが、運用上の問題などでデータサイズを変更したい場合など、以下の手順でカラムのサイズを変更することができます。ただし、この方法ではソースコードを直接書き換えるので、バージョンアップの度に作業が必要になりますので注意してください。

Step 1. データベースカラムの設定値を変更する

 MovableType のソースコードのうち、/lib/MT/HogeHoge.pm をテキスト エディタで開きます。ソースコードの最初の方に、テーブルのスキーマ定義があるので、必要な値に変更してください。

# 変更前:
        'label' => 'string(100) not null',
# 変更後:
        'label' => 'string(255) not null',

Step 2. スキーマ番号をアップグレードする

 ソースコードを修正したことを MovableType に伝えます。

# 変更前:
    ( $VERSION, $SCHEMA_VERSION ) = ( '5.01', '5.0016' );
# 変更後:
    ( $VERSION, $SCHEMA_VERSION ) = ( '5.01', '5.0017' );

Step 3. MovableType をアップグレードする

 MovableType の管理画面を開くとアップグレード ウィザードが実行されます。この時に、データカラムのサイズが変更されます。

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  


この記事を読んだ人はこんな記事も読んでいます記事リコメンデーションについて

カバー画像:データベースの文字コード設定について

この記事のアーカイブ

全ての記事 »
2010年
全てのカテゴリ »
MovableType
全てのタグ »
,

関連記事/トラックバック (全 1 件中、最新 5 件まで表示しています)

Open MagicVox.net のスクリーンショット
タイトル
データベースの文字コード設定について
Trackbacked at
2010/02/23 23:09
from
Open MagicVox.net
概要
 MovableType で扱える各データカラムの最大サイズを求めようとして、ソースコードからしこしこと表を作ってみました。記事公開後、天野さんから、「...

この記事にトラックバックを送るには?

寄せられたコメント (全 2 件中、最新 5 件まで表示しています)

Posted by
ぴろり ◆OLEEi.VOX.ぴろり ◆OLEEi.VOX.
at
2010/02/19 15:49
ID
OqUyFvHM
ご指摘ありがとうございます。
その後、データベースの設定を見直してみたら、内部エンコードがlatin1になっていることに気づかずに実験していました。
エンコードをutf8に設定して試してみたところ、格納する文字のバイトコードに関係なく、varchar(255)では255文字格納できることが確認できました。
MTの設定の前にデータベースの設定を忘れずに、ということですね。
Posted by
天野天野
at
2010/02/19 05:53
ID
lfjW2lwg
ご無沙汰しています。
ToI企画の天野です。
気になって調べてみたのですが(MT5.01です)、「default-character-set=utf8」で起動されているMySQL(5.0.3以降)の環境だとVARCHAR(255)が「255バイト」ではなく「255文字」になるため、MTでも255文字まで保存できるっぽいです。

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。