db.xmlの作成と挙動について

db.xmlは、データを保存するブロック、またはパッケージの必須ファイルの1つで、1つまたは複数のデータベーステーブルを定義しています。

ブロックまたはパッケージのインストール時にこの db.xml を参考にブロック、もしくはパッケージ用のテーブルが作成されます。このファイルはAXMLS formatで書かれています T.M.WORKS ティーエムワークス CS1 TUNING BOX+車種専用ハーネスセット TOYOTA ノア ZRR70/ZZR755 3ZR-FE 2000cc CS1+CS001 RSR TP Best☆i バモス HM1 660 TB 13/9~ 車高調。

M Sports ランサーエボリューション 8-9 M SPORTS ボンネット FRP

HOT BODIES RACING ホットボディーズ レーシング スリップオンマフラー MGP II エキゾーストシステム 【MGP II Exhaust】[1811-2932] YZF-R6 2006-2017, ヘプコ&ベッカーALU--STANDARD トップケース 35L, SaiEL 360度 ドライブレコーダー ミラー型 360°カメラ搭載 前後左右撮影 全方向録画 DC12V車専用 SLI-ALV360 車載カメラ, USエアインテーク インナーダクト RED 09-13シボレーアバランシェ5.3 / 6.0L V8コールドエアインテークキット RED 09-13 Chevy Avalanche 5.3/6.0L V8 Cold Air Intake Kit, ACRE ブレーキパッド ■アクレ ダストレスリアル フロント 【品番:095】 三菱 ミニカ H11A / H11V (TURBO) 84.1~88.11 エスティマハイブリッド(マイナー後) AHR10系 用 現品限り!グランツHIDバナー 純正交換バルブ2個セット GLANZ HID D2S/5700K, WINMAX(ウインマックス)ブレーキパッド ARMA ストリート AT1 ニッサン サニーNXクーペ B13系(タイプA) フロント用, Project μ プロジェクトミュー ブレーキパッド NS-C フロント ランドクルーザー HDJ101, SAMCO SPORT サムコスポーツ ラジエーター関連部品 クーラントホース(ラジエーターホース) カラー:ソーラーオレンジカモ (限定色) FE 250 OEM Design 2014 FE 350 OEM Design 2013-2014, 大同工業DID 520ZVM-X-110ZB G&G ZVM-Xシリーズ Xリング [Dotty] ダティ ユーロラックス シートカバー メルセデスベンツ Cクラス セダン W204 2007/6~2014/6 5人乗 フロント背面内側にレバー有 [C180 コンプレッサー アバンギャルド / C200 コンプレッサー 他] ※北海道は送料540円(税込) 沖縄・離島は送料1296円(税込)

M Sports ランサーエボリューション 8-9 M SPORTS ボンネット FRP:【BP レガシィ ツーリングワゴン オートプロデュース A3】レガシィワゴン BP ボディサポートシリーズ ミッションメンバー サポート レッド 【送料無料】 【エスペリア Espelir】アクセラスポーツ 等にお勧め スーパーダウンサス / 1台分セット 型式等:BK3P 品番:ESM-517

M Sports ランサーエボリューション 8-9 M SPORTS ボンネット FRP.【H92 オッティ フジツボ】AUTHORIZE K オッティ ターボ 2WD H92W ZOOM ロードスター NB SR1 オリジナルシートカバー その他

★色番号塗装発送BRZ エアロ 3点キットA / (バンパータイプ)【イングス】BRZ ZC6 N-SPEC エアロ3点セット (F/S/R) FRP製 【SRT1733】clarion クラリオン 17cmマルチアキシャル3WAYスピーカー(2 本1組)

db.xml の勉強方法でオススメの方法の1つとして、マーケットプレイス場の他のアドオンを参考にされるのもいいでしょう。

このガイドはAdoDB XMLスキーマを理解する方向けに、利用できるタイプとキーワードを解説しています。

M Sports ランサーエボリューション 8-9 【T004】プリウス M 【割引クーポン配布中】KARO/カロ SPORTS ボンネット FRP

2輪 Nプロジェクト ベンチュラ ベースセット BSY095B JAN:4560190792889 ブラック ヤマハ FZ1 フェザー 2006年をダウンロードして下さい。

次のコードをベースとしてファイルを作り始めましょう。
<?xml version="1.0"?>
<schema version="0.3">
 <table name="btBasicTest">
 <field name="bID" type="I">
 <key ></key>
 <unsigned ></unsigned>
 </field>
 ......
 ......
 </table>
</schema>

 このサンプルでは、データベーステーブルが "bBasicTest"として定義されています。自作ブロックのコントローラー(controller)ファイルで定義されているハンドル (handle) に従って名前を変更する必要があります。

 コントローラーの btTable プロパティーで指定されているテーブルはbIDをプライマリキーとして持つ必要があります。型は整数(integer)に設定します(オートインクリメントは設定してはいけません)。このキーはconcrete5のコアのBlocksテーブルとマッピングされ、あなたのブロックに固有のデータとconcrete5がブロックについて持っているデータ(メタデータ、位置、バージョン等)と関連づけるのに使われます。

STEP2: 自分のブロック用にカスタマイズ

次に、この外殻に中身を入れていきます AP ブレーキパッド フロント ボルボ V40 2.0 T5 MB5204T/MB420 16.5inch Brake(320mm DISC) 2013年02月~。あなたのブロックで必要なフィールドを追加します。例えば、"Name"(名前)を取得、保存、表示したい場合は、次のようなXML構造を追加するとよいでしょう。

<field name="name" type="C" size="255">
</field>

※ 例に示されているように、XMLファイルの各レベルはインデントするのが適切です。

下記の表は使用できるデータベース構造を定義するのに使えるフィールドタイプとキーワード一覧です。

参考:フィールドタイプ一覧

タイププリフィクス説明
C 可変長文字列。255文字までの制限。
X 大きな可変長文字列 17インチプレミオ240系ENKEI パフォーマンスライン PF03 スパークルシルバー 7.0Jx17ZIEX ZE914F 215/45R17。4000文字までの制限(Oracleとの互換性のため)。
XL Oracleのための最も長い可変長文字列型。キャラクタ・ラージ・オブジェクトを返す。
C2 マルチバイト可変長文字列
X2 大きなマルチバイト可変長文字列
B BLOB(バイナリ・ラージ・オブジェクト)
D 日付(いくつかのデータベースはこの型をサポートしていないので、其の場合はdatetime型を返す)
T 日付またはタイムスタンプ
L 真偽値(0または1)を格納するための整数フィールド
I 整数(I4にマップされる)
I1 1バイト整数
I2 2バイト整数
I4 4バイト整数
I8 8バイト整数
F 浮動小数点数
N アンパック浮動小数点数

参考:MySQLと対応した db.xml フィールドタイプ一覧

8-9 M SPORTS ボンネット M Sports FRP ランサーエボリューション 8-9 M

db.xml MySQL
C VARCHAR
XL LONGTEXT
X TEXT
C2 VARCHAR
X2 LONGTEXT
B LONGBLOB
D DATE
TS DATETIME
T DATETIME
I4 INTEGER
I INTEGER
I1 TINYINT
I2 SMALLINT
I8 BIGINT
F DOUBLE
N NUMERIC

参考:フィールドタイプ修飾子

キーワード説明
AUTOINCREMENT オートインクリメント数値。利用できない場合はトリガーをエミュレートします。NOTNULLを同時に指定してください。
KEY プライマリキーフィールド。NOTNULLを同時に指定してください。複合キーをサポートしています。
PRIMARY KEYと同じ。
DEF DEFAULTの略語。
DEFAULT デフォルト値。' SYSDATE 'のように前後がスペースが付いていない場合は自動的に引用符で囲まれます 。
NOTNULL NULLを許可しない
DEFDATE 現在の日付を取得しデフォルト値として設定する。
DEFTIMESTAMP 現在の日付時刻を取得しデフォルト値として設定する。
NOQUOTE デフォルトの文字列の値が自動で引用符で囲まれないようにします。
CONSTRAINTS フィールド定義の最後に追加の制約条件を指定することが可能。

サンプルコード

db.xmlファイルの作例が下記となります。サンプルを参考に自作ブロック開発をしてみてください。

<?xml version="1.0"?>
<schema version="0.3">
 <table name="btBasicTest">
 <field name="bID" type="I">
 <key ></key>
 <unsigned ></unsigned>
 <default value="0"/>
 </field>
 <field name="content" type="X2">
 </field>
 </table>
</schema>

 

翻訳元:Creating and Working with db.xml Files