Kvasir/Sora CMSディストリビューションのテーブルスキーマです。
version 3.0.0-SNAPSHOT
Table List
Name | Type | Plugin ID | Comment |
---|---|---|---|
CASTO | TABLE | org.seasar.kvasir.page | ユーザ/グループとロールの関連を保持するテーブル。 |
COMMENT | TABLE | org.seasar.kvasir.cms.kdiary | 日記の記事につけられたコメントを保持するテーブル。 |
CONTENT | TABLE | org.seasar.kvasir.page.ability.content | ページの本文(コンテント)に関する情報を保持するテーブル。 |
CONTENTS | TABLE | org.seasar.kvasir.page.ability.content | ページの本文(コンテント)をバリアント・リビジョン毎に保持するテーブル。 |
MEMBER | TABLE | org.seasar.kvasir.page | ユーザとグループの関連を保持するテーブル。 |
PAGE | TABLE | org.seasar.kvasir.page | ページの情報を保持するテーブル。 |
PERMISSION | TABLE | org.seasar.kvasir.page | ページに付与されている権限情報を保持するテーブル。 |
PROPERTIES | TABLE | org.seasar.kvasir.page | ページのデフォルトバリアント以外のプロパティを保持するテーブル。 |
PROPERTY | TABLE | org.seasar.kvasir.page | ページのデフォルトバリアントのプロパティを保持するテーブル。 |
SCHEDULE | TABLE | org.seasar.kvasir.page.ability.timer | スケジュールされたジョブの情報を保持するテーブル。 |
TEMPLATE | TABLE | org.seasar.kvasir.page.ability.template | ページのテンプレートに関する情報を保持するテーブル。 |
TEMPLATES | TABLE | org.seasar.kvasir.page.ability.template | ページのテンプレートをバリアント毎に保持するテーブル。 |
CASTO
ユーザ/グループとロールの関連を保持するテーブルです。
1レコードにユーザIDとグループIDを持ちますが、通常片方だけが有効です。無効なカラムには値として0が入っています。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o+ | * | ROLEID | INTEGER | 10 | ロールのID。値としてはページタイプが「role」であるページのIDが入ります。 | |||
o+ | o | * | GROUPID | INTEGER | 10 | グループのID。値としてはページタイプが「group」であるページのIDが入ります。 | ||
o+ | o | * | USERID | INTEGER | 10 | ユーザのID。値としてはページタイプが「user」であるページのIDが入ります。 |
COMMENT
日記の記事につけられたコメントを保持するテーブルです。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
BODY | VARCHAR | 255 | コメントの本文。 | |||||
COMMENTATOR | VARCHAR | 255 | コメントの投稿者。 | |||||
COMMENTTIME | TIMESTAMP | 23, 10 | コメントを投稿した時刻。 | |||||
o | o | * | ID | INTEGER | 10 | コメントの一意なID。 | ||
VARCHAR | 255 | コメント投稿者のメールアドレス。 | ||||||
PAGEID | INTEGER | 10 | コメントが投稿された記事のページID。 |
CONTENT
ページの本文(コンテント)に関する情報を保持するテーブルです。
このテーブルのレコードはコンテントを持つページ毎に1つ存在します。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o | * | PAGEID | INTEGER | 10 | ページのID。 | |||
* | MODIFYDATE | TIMESTAMP | 23, 10 | コンテントの更新日時。いずれかのバリアントのいずれかのリビジョンのコンテントを追加・更新した日時です。 |
CONTENTS
ページの本文(コンテント)をバリアント・リビジョン毎に保持するテーブルです。
1レコードが「あるページのあるバリアントのコンテントのあるリビジョンのもの」を表します。本文自体はファイルシステム上に保存されています。このテーブルに本文を保持するカラムはありません。
コンテントは履歴を保持できます。履歴はバリアント毎に持っています。リビジョン番号は履歴を管理するための通し番号です。リビジョン番号は1から始まりますが、過去の履歴を削除することができるため、保持している最小のリビジョン番号が1であるとは限りません。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o | o | * | ID | INTEGER | 10 | コンテントの一意なID。 | ||
o+ | * | PAGEID | INTEGER | 10 | コンテントを持つページのID。 | |||
o+ | * | VARIANT | VARCHAR_IGNORECASE | 255 | バリアント。 | |||
o+ | * | REVISIONNUMBER | INTEGER | 10 | リビジョン番号。 | |||
* | CREATEDATE | TIMESTAMP | 23, 10 | 作成日時。 | ||||
* | MODIFYDATE | TIMESTAMP | 23, 10 | 更新日時。 | ||||
* | LATEST | BOOLEAN | 1 | 最新リビジョンのコンテントかどうか。 | ||||
* | VERSION | INTEGER | 10 | 楽観的排他をするためのバージョン番号。 | ||||
* | MEDIATYPE | VARCHAR_IGNORECASE | 255 | メディアタイプ。 | ||||
* | ENCODING | VARCHAR_IGNORECASE | 255 | 文字エンコーディング。 |
MEMBER
ユーザとグループの関連を保持するテーブルです。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o+ | * | GROUPID | INTEGER | 10 | グループのID。値としてはページタイプが「group」であるページのIDが入ります。 | |||
o+ | o | * | USERID | INTEGER | 10 | ユーザのID。値としてはページタイプが「user」であるページのIDが入ります。 |
PAGE
ページの情報を保持するテーブルです。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o | o | * | ID | INTEGER | 10 | ページの一意なID。 | ||
o | * | TYPE | VARCHAR_IGNORECASE | 255 | ページのタイプ。標準のタイプとしてはpage、directory、user、group、roleがありますが、タイプはプラグインによって拡張可能であるためそれ以外のタイプも存在することがあります。 | |||
o+ | o+ | * | HEIMID | INTEGER | 10 | ページが所属するheimのID。 | ||
o | * | LORDID | INTEGER | 10 | ページが所属するlordのID。 | |||
o+ | o+ | * | PARENTPATHNAME | VARCHAR_IGNORECASE | 255 | 親ページのパス名。 | ||
o+ | o | * | NAME | VARCHAR_IGNORECASE | 255 | 名前。 | ||
* | ORDERNUMBER | INTEGER | 10 | 兄弟ページにおける並び順。数字が小さい方が先に並びます。番号は連番とは限りません。同じ番号の複数のページの並び順は不定です。 | ||||
* | CREATEDATE | TIMESTAMP | 23, 10 | 作成日時。 | ||||
* | MODIFYDATE | TIMESTAMP | 23, 10 | 更新日時。 | ||||
* | REVEALDATE | TIMESTAMP | 23, 10 | 公開開始日時。 | ||||
* | CONCEALDATE | TIMESTAMP | 23, 10 | 公開停止日時。 | ||||
* | OWNERUSERID | INTEGER | 10 | 所有者ユーザのID。値としてはページタイプが「user」であるページのIDが入ります。 | ||||
* | NODE | BOOLEAN | 1 | ノードかどうか。 | ||||
* | ASFILE | BOOLEAN | 1 | ページを表示する際に生のファイルとして扱うかどうか。 | ||||
* | LISTING | BOOLEAN | 1 | ページを一覧表示に含めるかどうか。 | ||||
o | * | VERSION | INTEGER | 10 | バージョン番号。楽観的排他のために利用されます。 |
PERMISSION
ページに付与されている権限情報を保持するテーブルです。
権限の詳細についてはorg.seasar.kvasir.page.ability.PermissionクラスのJavadocを参照して下さい。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o+ | * | PAGEID | INTEGER | 10 | ページのID。 | |||
o+ | o | * | ROLEID | INTEGER | 10 | ロールのID。値としてはページタイプが「role」であるページのIDが入ります。 | ||
o+ | * | TYPE | INTEGER | 10 | 権限タイプ。 | |||
* | LEVEL | INTEGER | 10 | 権限レベル。 |
PROPERTIES
ページのデフォルトバリアント以外のプロパティを保持するテーブルです。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o+ | o+ | * | PAGEID | INTEGER | 10 | ページのID。 | ||
o+ | o+ | * | VARIANT | VARCHAR_IGNORECASE | 255 | バリアント。 | ||
BODY | VARCHAR | 2147483647 | プロパティ。xproperties形式で保存されています。 |
PROPERTY
ページのデフォルトバリアントのプロパティを保持するテーブルです。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o+ | o+ | * | PAGEID | INTEGER | 10 | ページのID。 | ||
o+ | o+ | * | NAME | VARCHAR_IGNORECASE | 255 | プロパティ名。 | ||
VALUE | VARCHAR | 2147483647 | プロパティの値。 |
SCHEDULE
スケジュールされたジョブの情報を保持するテーブルです。
設定された日時パターンに合致した日時になると、スケジュールのオーナであるプラグインが持つコンポーネントコンテナから指定されたコンポーネント名を持つコンポーネントが取り出され、指定されたPageとパラメータを引数としてメソッドが呼び出されます。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o | o | * | ID | INTEGER | 10 | スケジュールの一意なID。 | ||
* | PAGEID | INTEGER | 10 | ページのID。 | ||||
* | DAYOFWEEK | VARCHAR | 128 | スケジュールされている曜日。0~6がそれぞれ日~土に対応します。「*」は指定なしを意味します。 | ||||
* | YEAR | VARCHAR | 128 | スケジュールされている年。「*」は指定なしを意味します。 | ||||
* | MONTH | VARCHAR | 128 | スケジュールされている月。1~12の値を取ります。「*」は指定なしを意味します。 | ||||
* | DAY | VARCHAR | 128 | スケジュールされている日。「*」は指定なしを意味します。 | ||||
* | HOUR | VARCHAR | 128 | スケジュールされている時刻。0~23の値を取ります。「*」は指定なしを意味します。 | ||||
* | MINUTE | VARCHAR | 128 | スケジュールされている分。「*」は指定なしを意味します。 | ||||
* | PLUGINID | VARCHAR | 255 | スケジュールのオーナであるプラグインのID。 | ||||
* | COMPONENT | VARCHAR | 255 | 実行されるコンポーネントの名前。 | ||||
PARAMETER | VARCHAR | 255 | 実行時のパラメータ。 | |||||
* | ENABLED | INTEGER | 10 | 有効かどうか。 |
TEMPLATE
ページのテンプレートに関する情報を保持するテーブルです。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o | * | PAGEID | INTEGER | 10 | ページのID。 | |||
* | TYPE | VARCHAR | 255 | テンプレートのタイプ。 | ||||
* | RESPONSECONTENTTYPE | VARCHAR | 255 | テンプレートの評価結果をレスポンスとして返す際のコンテントタイプ。 |
TEMPLATES
ページのテンプレートをバリアント毎に保持するテーブルです。
PK | ID | UQ | IX | Not Null |
Name | Type | Size | Comment |
---|---|---|---|---|---|---|---|---|
o+ | o+ | * | PAGEID | INTEGER | 10 | ページのID。 | ||
o+ | o+ | * | VARIANT | VARCHAR_IGNORECASE | 255 | バリアント。 | ||
* | MODIFYDATE | TIMESTAMP | 23, 10 | 更新日時。 | ||||
BODY | VARCHAR | 2147483647 | テンプレートの本文。 |