SQLテーブル・リファレンス 2005年3月5日
訳者注:

はじめに

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

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

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

目次

色使いback to top

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

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

nucleus_blogテーブルback to top

カラム名 既定値 説明
bnumber int(11) 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' indexスキンタイプで表示するコメントの最大数。既定値(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' 更新があったときにweblogs.comにpingを送る (1=送る/0=送らない)
bconvertbreaks tinyint(2) '1' 改行を<br />に変換する (1=変換する/0=変換しない)
bdefcat int(11) NULL デフォルトのカテゴリー。他のカテゴリーが選択されていないとき、このカテゴリーになる
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=対象にしない)

nucleus_categoryテーブルback to top

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

nucleus_itemテーブルback to top

カラム名 既定値 説明
inumber int(11) アイテムのID
ititle varchar(160) NULL タイトル
ibody text 本文
imore text 追加部分
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' アイテムはドラフトかどうか。ドラフトは管理ページでだけ見られる
ikarmapos int(11) '0' +のカルマ投票の総数
ikarmaneg int(11) '0' −のカルマ投票の総数
icat int(11) NULL アイテムが所属するカテゴリーのID

nucleus_commentテーブルback to top

カラム名 既定値 説明
cnumber int(11) コメントのID
cbody text コメントの本文
cuser varchar(40) NULL 筆者名(メンバーでない場合,メンバーの場合はcmember参照)
cmail varchar(100) NULL メール・アドレスあるいはURL(メンバーでない場合,メンバーの場合は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) メンバーのID
mname varchar(16) '' 名前(ログインに使うものと同じ)
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=そう/0=違う 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) プラグインのID
pfile varchar(40) '' プラグインのファイル名(例えばNP_CommentControl)。プラグイン・ディレクトリにファイルがないといけない(.phpの拡張子が付いて)。
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) オプションのID (nucleus_plugin_option_descテーブルを参照)
ovalue TEXT '' オプションの値
ocontextid int(11) '0' オプションが使われるコンテキストによって意味合いが変わる

nucleus_plugin_option_descテーブルback to top

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

カラム名 既定値 説明
oid int(11) オプションの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 オプションの既定値
oextra text 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) スキンの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への参照
tpartname varchar(20) '' テンプレート・パートの名前。以下のいずれかを取る
  • ARCHIVELIST_FOOTER
  • ARCHIVELIST_HEADER
  • ARCHIVELIST_LISTITEM
  • CATLIST_FOOTER
  • CATLIST_HEADER
  • CATLIST_LISTITEM
  • COMMENTS_BODY
  • COMMENTS_MANY
  • COMMENTS_NONE
  • COMMENTS_ONE
  • COMMENTS_TOOMUCH
  • DATE_HEADER
  • EDITLINK
  • FORMAT_DATE
  • FORMAT_TIME
  • IMAGE_CODE
  • ITEM
  • LOCALE
  • MEDIA_CODE
  • MORELINK
  • POPUP_CODE
  • SEARCH_HIGHLIGHT
  • SEARCH_NOTHINGFOUND
tcontent text テンプレート・パートの内容

nucleus_template_descテーブルback to top

カラム名 既定値 説明
tdnumber int(11) テンプレートの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=いいえ/偽)で示す。

Name 既定値 Value 説明
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 normalpathinfo
DatabaseVersion 250 データベースの構造が更新された最後のNucleusのバージョン番号

nucleus_ticketsテーブルトップに戻る

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

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

nucleus_activationテーブルトップに戻る

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

カラム名 既定値 説明
vkey varchar(40) アクティベートキー。このキーはメンバーのアクティベートコードに渡される。一般的に、キーは次のような形になる: 41cf637d4fbeeff954b4ca70b8bde9dd
vmember int(11) アクティベートの必要があるメンバー。
vtime datetime アクティベートキーが発行された日時。アクティベートキーの有効期間は 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