Concrete5のパッケージでデータを保存する場合、データベースを使用することになります。
その際、データベースのテーブル定義は「db.xml」に書き、インストール時に読み込ませます。(詳しい使い方は公式サイトのBasic Block Developmentをご覧ください)
この使い方でわかりづらい点があったのでメモ。
Cがエラーになる
db.xmlではカラムの型を「C」「X2」などの独自のコードで指定します。ちなみにC = VarCharになります。(定義の一覧はこちら)
<field name="content" type="C" ></field>
として定義できると公式サイトには書かれていますが、実際には上記定義はエラーになります。
なぜかというとCの長さが入っていないため、SQLが
CREATE TABLE btTest( bID INTEGER UNSIGNED NOT NULL , content VARCHAR , PRIMARY KEY (bID) )
となってしまうためです。長さゼロのVarCharを定義しようとしてしまうのですね。
size指定
ではカラムの長さはどうやって指定するか、というとフィールド定義の属性に書きます。
<field name="content" type="C" size="255"></field>
上記定義で長さ255のVarCharカラムが作成されます。