SQLテーブル・リファレンス 2009年2月7日
訳者注:

はじめに

開発者向けドキュメントの目次へ戻る

このドキュメントはNucleusのデータベース・テーブルのフィールドを解説しています。

構造はNucleus v3.4~のものに従っています

目次

色使いback to top

この文書中では、カラムの型を示すために、文字の修飾を使っています。以下に例を示します:

プライマリ プライマリキー
外部 外部キー(クリックすると参照先に飛ぶ)。MySQLは外部キーとの一貫性保持に責任を持たないことに注意
削除予定 同じ機能を提供するプラグインを優先するため、テーブルやカラムは将来のバージョンのNucleusで削除させる可能性が高い
フルテキスト カラムにフルテキストのインデックスが付く(検索で使用する)

nucleus_blogテーブルback to top

カラム名 データ型 既定値 説明
bnumber int(11) (空白)auto_increment BlogのID
bname varchar(60) (空白) Blog名
bshortname varchar(15) (空白) Blogの短縮名 (スキン変数 <%blog%>などで使うものと同じ)
bdesc varchar(200) NULL Blogの説明
bcomments tinyint(2) 1 コメントを許可する(1=許可, 0=不許可)
bmaxcomments int(11) 0 メインの目次ページでのコメントの最大表示数。既定値(0)は制限なし。インライン・コメントを使わないのならここはいじらないこと
btimeoffset decimal(3,1) 0.0 サーバー時刻との時差。アイテムはサーバー時刻にこの値を足した時間でデータベースに保存される
bnotify varchar(60) NULL 通知するメール・アドレス。設定した通知イベント(内容はbnotifytypeを参照)が発生した時にこのアドレス宛てにメールで通知される。
burl varchar(100) NULL BlogのURL
bupdate varchar(60) NULL アイテムが投稿されるたびに変更が必要な更新ファイル。サーバー上の絶対パスで指定する。
bdefskin int(11) 1 このBlogを表示するときに使う標準のスキン
bpublic tinyint(2) 1 メンバーー以外にもコメントを許可するかどうか(1=許可/0=不許可)
bsendping tinyint(2) 0 更新があったときにブログ検索サービスにpingを送る。(1=送る/0=送らない) このオプションは NP_Ping 及びそれに類するプラグインがインストールされている時のみ表示されます。
bconvertbreaks tinyint(2) 1 投稿されたアイテム中の改行を<br />に変換するかどうか(1=変換する/0=変換しない)
bdefcat int(11) NULL カテゴリー未選択時に自動的に適用されるカテゴリーのカテゴリーID
bnotifytype int(11) 15 どのイベントが起こったときに通知メールを送るか(通知するメール・アドレスはbnotifyを参照)。三つの値の組み合わせからなり、掛け合わせることでnoifytypeの値が決まる。
  • 3: 新しいコメント
  • 5: 新しいカルマ投票
  • 7: 新しいアイテム
既定値 = 新しいコメントと新しいカルマ投票(3×5=15)
ballowpast tinyint(2) '0' 過去の日時での投稿を許可する (1=許可/0=不許可)
bincludesearch tinyint(2) '0' 他のblogの検索の場合にも検索対象にする(1=対象にする/0=対象にしない)
breqemail tinyint(2) '0' コメントにメールアドレスを要求する(1=要求する/0=要求しない)
bfuturepost tinyint(2) '0' ブログ内に未来の日付の記事が存在するか?(1=存在する/0=存在しない) この値は投稿されたアイテムに応じて自動的に設定されます。

nucleus_categoryテーブルback to top

カラム名 データ型 既定値 説明
catid int(11) (空白)auto_increment カテゴリーID
cblog int(11) 0 カテゴリーが所属するBlogのID
cname varchar(40) NULL カテゴリーの名前
cdesc varchar(200) NULL カテゴリーの説明

nucleus_itemテーブルback to top

カラム名 データ型 既定値 説明
inumber int(11) (空白)auto_increment アイテムのID
ititle varchar(160) NULL タイトル
ibody text (空白) 本文
imore text NULL 追加部分(「続き」部分)
iblog int(11) 0 アイテムが所属するBlogのID
iauthor int(11) 0 アイテムの著者のメンバーID
itime datetime 0000-00-00 00:00:00 投稿時間(サーバーとの時差を反映したもの)
iclosed tinyint(2) 0 アイテムが閉鎖されたかどうか (1=閉鎖/0=閉鎖していない).閉鎖すると、コメントやカルマ投票を受け付けない
idraft tinyint(2) 0 アイテムはドラフト(下書き状態)かどうか。ドラフトは管理ページでだけ見ることが出来る(1=ドラフト/0=ドラフトでない)
ikarmapos int(11) 0 +のカルマ投票の総数
ikarmaneg int(11) 0 -のカルマ投票の総数
icat int(11) NULL アイテムが所属するカテゴリーのID
iposted tinyint(2) 1 アイテムに設定された投稿時刻を経過しているか?(1=している/0=していない)

nucleus_commentテーブルback to top

カラム名 データ型 既定値 説明
cnumber int(11) (空白)auto_increment コメントのID
cbody text (空白) コメントの本文
cuser varchar(40) NULL 筆者名(メンバーでない場合,メンバーの場合はcmember参照)
cmail varchar(100) NULL メール・アドレスあるいはURL(メンバーでない場合,メンバーの場合はcmember参照)
cemail varchar(100) NULL メール・アドレス(メンバーでない場合,メンバーの場合はcmember参照)
cmember int(11) NULL コメントを書いたメンバーのID(メンバーでない場合は0)
citem int(11) 0 コメントが書き込まれたアイテムのID
ctime datetime 0000-00-00 00:00:00 コメントを書き込んだ時間
chost varchar(60) NULL コメントを入力したホスト名
cip varchar(15) (空白) コメントを入力したホストのIPアドレス
cblog int(11) 0 コメント書き込まれたアイテムが所属するBlogのID

nucleus_memberテーブルback to top

カラム名 データ型 既定値 説明
mnumber int(11) (空白)auto_increment メンバーのID
mname varchar(16) (空白) ログインID(表示される名前)
mrealname varchar(60) NULL フルネーム(ハンドルネーム)
mpassword varchar(40) (空白) パスワード (md5で暗号化してある)
memail varchar(60) NULL メールアドレス
murl varchar(100) NULL URL
mnotes varchar(100) NULL 追加事項(メンバー自身が記述できる)
madmin tinyint(2) 0 Super-admin(最高権限管理者)か (1=super-admin/0=super-adminではない super-adminはすべての権利を持つ。システムに一人はsuper-adminがいる)
mcanlogin tinyint(2) 1 管理エリアへのログインを許可 (1=許可/0=不許可)
mcookiekey varchar(40) NULL このキーのコピーがユーザーのクッキーに保存され、ログオンに使う。メンバーがログオンすると、ランダムなcookiekeyが生成され、一方はデータベースに、他方がユーザーのコンピュータに保存される。
deflang varchar(20) '' このメンバー用の言語ファイルを指定する

nucleus_teamテーブルback to top

Blogのチームメンバーごとに、この表にデータがある

カラム名 データ型 既定値 説明
tmember int(11) 0 メンバーのID
tblog int(11) 0 チーム・メンバーになっているBlog
tadmin tinyint(2) 0 Blogの管理者か (0=管理者ではない/1=管理者。各Blogは一人は管理者がいる)

nucleus_pluginテーブルback to top

カラム名 データ型 既定値 説明
pid int(11) (空白)auto_increment プラグインのID
pfile varchar(40) (空白) 拡張子を覗いたプラグインのファイル名(例えばNP_CommentControl)。プラグイン・ディレクトリにファイルがないといけない。
porder int(11) 0 プラグインが呼び出される順番。プラグイン・ページで表示される順番でもある。数字が小さい方がリストの上の方に来る。

nucleus_plugin_eventテーブルback to top

各プラグインが登録するイベントを記録するキャッシュ。リクエストの度にすべてのプラグインを読み込んで,それらが使うイベントを調べる手間を省くために保存している。プラグインのイベントについてはこちらを参照。

カラム名 データ型 既定値 説明
pid int(11) 0 プラグインのID
event varchar(40) NULL 呼び出されるイベントの名前

nucleus_plugin_optionテーブルback to top

プラグイン・オプションの値を格納する。オプション自体の定義についてはnucleus_plugin_option_descテーブルを参照。

カラム名 データ型 既定値 説明
oid int(11) (空白)auto_increment オプションのID (nucleus_plugin_option_descテーブルを参照)
ovalue TEXT (空白) オプションの値
ocontextid int(11) 0 オプションが使われるコンテキストによって意味合いが変わる

nucleus_plugin_option_descテーブルback to top

プラグインがオプションを作るたびにこのテーブル内にデータができる。

カラム名 データ型 既定値 説明
oid int(11) (空白)auto_increment オプションのID。nucleus_plugin_optionテーブルで使う
opid int(11) 0 オプションを作ったプラグインのID
oname varchar(20) (空白) オプションの名前
ocontext varchar(20) (空白) オプションのコンテキスト(グローバル, Blog, カテゴリー,メンバー)
odesc varchar(255) NULL オプションの説明
otype varchar(20) NULL オプションの型.プラグインの文書を参照.
odef text NULL オプションの既定値
oextra text NULL select option型などで使う、その他のデータ

nucleus_skinテーブルback to top

カラム名 データ型 既定値 説明
sdesc int(11) 0 skin_descへの参照
stype varchar(20) (空白) スキン・パートの型。以下のいずれかを取る
  • index(メインの目次ページ)
  • item(個別アイテムページ)
  • archive(月別アーカイブページ)
  • archivelist(月別アーカイブ一覧ページ)
  • search(検索ページ)
  • error(エラーページ)
  • member(メンバー詳細ページ)
  • imagepopup(画像ポップアップウィンドウ)
scontent text (空白) スキン・パートの内容

nucleus_skin_descテーブルback to top

カラム名 データ型 既定値 説明
sdnumber int(11) (空白)auto_increment スキンのID
sdname varchar(20) (空白) スキンの名前
sddesc varchar(200) NULL スキンの説明
sdtype varchar(40) text/html スキンのmimeタイプ
sdincmode varchar(10) normal Includeモード。以下のいずれかを取る
  • normal(スキンディレクトリを使用しない)
  • skindir(スキンディレクトリを使用する)
sdincpref varchar(50) (空白) ファイルをIncludeするときのプリフィックス

nucleus_templateテーブルback to top

カラム名 データ型 既定値 説明
tdesc int(11) 0 template_descへの参照(nucleus_template_descのテンプレートID)
tpartname varchar(20) (空白) テンプレート・パートの名前。以下のいずれかを取る
  • ARCHIVELIST_FOOTER(アーカイブ一覧のフッター)
  • ARCHIVELIST_HEADER(アーカイブ一覧のヘッダー)
  • ARCHIVELIST_LISTITEM(アーカイブ一覧の本体)
  • BLOGLIST_FOOTER(ブログ一覧のフッター)
  • BLOGLIST_HEADER(ブログ一覧のヘッダー)
  • BLOGLIST_LISTITEM(ブログ一覧の本体)
  • CATLIST_FOOTER(カテゴリー一覧のフッター)
  • CATLIST_HEADER(カテゴリー一覧のヘッダー)
  • CATLIST_LISTITEM(カテゴリー一覧の本体)
  • COMMENTS_AUTH(登録メンバーからのコメントへの追加表示)
  • COMMENTS_BODY(コメントの本体)
  • COMMENTS_CONTINUED(コメントの続きへのリンク)
  • COMMENTS_FOOTER(コメントのフッター)
  • COMMENTS_HEADER(コメントのヘッダー)
  • COMMENTS_MANY(コメントが2つ以上の時)
  • COMMENTS_NONE(コメントが無い時)
  • COMMENTS_ONE(コメントが1つの時)
  • COMMENTS_TOOMUCH(コメントが多すぎる時)
  • DATE_FOOTER(日付のフッター)
  • DATE_HEADER(日付のヘッダー)
  • EDITLINK(アイテムを編集するためのリンク)
  • FORMAT_DATE(日付フォーマット)
  • FORMAT_TIME(時刻フォーマット)
  • IMAGE_CODE(インライン画像のコード)
  • ITEM_FOOTER(アイテムのフッター)
  • ITEM_HEADER(アイテムのヘッダー)
  • ITEM(アイテムの本体)
  • LOCALE(Locale)
  • MEDIA_CODE(メディアオブジェクトへのリンクコード)
  • MORELINK(続きへのリンク)
  • NEW(新しいアイテムに付けるマーク)
  • POPUP_CODE(ポップアップ画像へのリンクコード)
  • SEARCH_HIGHLIGHT(ハイライト表示)
  • SEARCH_NOTHINGFOUND(検索で何も見つからなかった場合)
  • この他、TemplateExtraFields イベントに対応したプラグインによって追加される事があります。
tcontent text (空白) テンプレート・パートの内容

nucleus_template_descテーブルback to top

カラム名 データ型 既定値 説明
tdnumber int(11) (空白)auto_increment テンプレートのID
tdname varchar(20) (空白) テンプレートの名前
tddesc varchar(200) NULL テンプレートの説明

nucleus_actionlogテーブルback to top

ログインやエラーなどのログを記録する

カラム名 データ型 既定値 説明
timestamp datetime 0000-00-00 00:00:00 アクションの日時
message varchar(255) (空白) アクションのメッセージ

nucleus_configテーブルback to top

Nucleusは、いくつかのグローバル・オプションをnucleus_configテーブルに記憶する。これは$CONF['OptionName'] でアクセスできる。

カラム名 データ型 既定値 説明
name varchar(20) (空白) オプションの名前
value varchar(128) NULL オプションの値

使用できるオプション

使用できるオプションの一覧を以下に示す。

はい/いいえタイプのオプションは1/0 (1=はい/真, 0=いいえ/偽)で示す。

設定の名前 既定値 説明
DefaultBlog 1 デフォルトのBlogのID。Blogが明示的に記されていないときに使うもの
AdminEmail 管理者のメール・アドレス
IndexURL サイトのURL。最後に/が付く必要がある
Language english デフォルトの言語ファイル名。「言語ファイル名.php」ファイルがlanguageディレクトリに必要
SessionCookie 0 寿命1ヶ月のクッキーの代わりにセッション・クッキーを使うかどうか
AllowMemberCreate 0 ビジターにアカウント作成を許すかどうか
AllowMemberMail 1 メンバー間でフォームを使ったメッセージ転送を許すかどうか(メール・アドレスは表示されない)
SiteName サイトの名前
AdminURL 管理エリアのURL。最後に/が付く必要がある
NewMemberCanLogon 1 登録されたばかりのユーザーがログインできるかどうか。できないばあい,管理者が「can login」オプションを最初に変更する必要がある
DisableSite 0 サイトが無効状態になっているかどうか。無効状態の場合、管理者だけがアクセスできる。他のすべてのアクセスはDisableSiteURLにリダイレクトされる
DisableSiteURL サイトが無効状態のときにリダイレクトされるURL
LastVisit 0 「最後の訪問」のクッキーを保存するかどうか
MediaURL メディア・フォルダのURL。最後に/が付く
AllowedTypes jpg, jpeg, gif, mpg, mpeg, avi, mov, mp3, swf, png メディア・フォルダにアップロードを許すファイル型
AllowLoginEdit 0 メンバーにログイン名とパスワードの変更を許すかどうか
AllowUpload 1 ファイルのアップロードを許すかどうか
DisableJsTools 2 JavaScriptツールバーの形式:
  • 0: 多機能型 (IE)
  • 1: ツールバーを無効にする
  • 2: シンプル型(Gecko)
CookiePath / クッキーをセットするパス
CookiePrefix クッキーの名称に追加するプレフィクス文字列。複数の Nucleus を同じドメインにインストールする際に便利で、別の Nucleus で同じセッションが適用されることを予防する。
CookieDomain クッキーをセットするドメイン
CookieSecure 0 クッキーの通信にHTTPSを使うかどうか
MediaPrefix 1 アップロードしたファイル名に日付を加えるかどうか
MaxUploadSize 1048576 アップロードするファイルの最大値(バイト数)
NonmemberMail 0 メンバー以外の人にメンバーへのメールを許すかどうか
PluginURL プラグイン・フォルダのURL。/で終わる必要がある
ProtectMemNames 1 このオプションが有効だと、ログインしていない人はメンバーと同じ名前でコメントを残せなくなる。こうすることによって、ゲストがメンバーのふりをすることを避けられる
BaseSkin 1 Nucleusに、自動的にスキンが決まらないときに、どのスキンを使うかを指定する。スキンのパートが空だったり、ブログやスキンが洗濯されていない場合に起こる
SkinsURL スキン・フォルダのURL。最後に/が付く必要がある
ActionURL action.phpのURL.
URLMode normal normal(ノーマル)かpathinfo(FancyURLs)
DatabaseVersion 250 データベースの構造が更新された最後のNucleusのバージョン番号
DebugVars 0 デバッグモードを使用するか?(0=使用しない・1=使用する 最高管理者のみ設定可)
DefaultListSize 10 リスト表示の時のデフォルトの表示数

nucleus_ticketsテーブルトップに戻る

Nucleus は nucleus_tickets を使用することによりセキュリティ上の問題を予防する。特に、管理エリアにおいて諸設定やデータベースの内容に影響する場合、チケットを必須とする。チケットは管理ページがリクエストされた時とフォームから呼び出された時に発行される。チケットは発行から 1時間後に破棄される。

カラム名 データ型 既定値 説明
ticket varchar(40) (空白)auto_increment 特定の単一ユーザに割り当てられるユニークなチケット。一般に、チケットは次のような形になる: 65303a785423b4d53c7b3e6579766f26
member int(11) 0 当該チケットが有効適用されるメンバー。
ctime datetime 0000-00-00 00:00:00 チケットの発行日時。チケットの有効期限は 1時間

nucleus_activationテーブルトップに戻る

新しいメンバーが登録された時点では、そのメンバーアカウントがアクティベートされるまで Nucleus はログインを許可しない。アクティベートのためのリンクを含むメールが送信され、これによってアクティベートすることができる。nucleus_activationテーブルはアクティベートの進捗状況を追跡する。

カラム名 データ型 既定値 説明
vkey varchar(40) (空白) アクティベートキー。このキーはメンバーのアクティベートコードに渡される。一般的に、キーは次のような形になる: 41cf637d4fbeeff954b4ca70b8bde9dd
vmember int(11) 0 アクティベートの必要があるメンバー。
vtime datetime 0000-00-00 00:00:00 アクティベートキーが発行された日時。アクティベートキーの有効期間は 2日間である。
vtype varchar(15) (空白) アクティベートの種別。
  • forgot: パスワードを忘れたメンバー。
  • register: 新しく登録されたメンバー。
  • addresschange: メールアドレスを変更したメンバー。
vextra varchar(128) (空白) 追加的な情報。アクティベート種別が addresschange の場合、ここには oldemailaddress/x として、x には 0 または 1 の値が入る。x は memberテーブルにある mcanlogin の値を参照する。(アクティベートが完全に終了するまで、このユーザはログインできない)

nucleus_karmaテーブルback to top

このテーブルは将来はなくなる可能性が高い。同じ機能を提供するプラグインに譲るためだ。

この表は投票に使われたIPアドレスを記憶しておく。こうすることで一つのIPアドレスからは1票しか入れられなくなる

カラム名 データ型 既定値 説明
itemid int(11) 0 アイテムのID
ip char(15) (空白) 投票者のIPアドレス

nucleus_banテーブルback to top

このテーブルは将来のNucleusではなくなる可能性が高い。同じ機能を提供するプラグインに譲るためだ。

コメントやカルマ投票を禁止するIPアドレスを記憶

カラム名 データ型 既定値 説明
iprange varchar(15) (空白) IPアドレスの範囲。アドレス単独でもいいし,一部(左から)でもいい。一部の場合は範囲を示す
reason varchar(255) (空白) 禁止の理由を示すメッセージ。コメントやカルマ投票を試みたときに表示される
blogid int(11) 0 禁止を有効にするBlogのID