これから数回に分けて、
rhacoのダウンロードは既にされていることとして話を進めます。まだダウンロードしていない方は、
セットアップフレームワーク
rhacoでは、
セットアップアプリケーションを使ってアプリケーションを作ると、
rhaco では、
また、
アプリケーションの土台を作る
それでは、
この例では、
$ mkdir -p /path/to/www/kaeru $ cp /path/to/rhaco/setup.php /path/to/www/kaeru
http://

ダウンロードしたrhacoのパスを入力して送信します。すると、

これで、
setup.
project.xml
テキストエディタで setup/
DB設計
rhacoは、
このサンプルでは、
それぞれの項目について、
<project rhacover="1.6.1" version="0.0.1" name="kaeru" xmlns="http://rhaco.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rhaco.org http://m.rhaco.org/xsd/project_1_6_x.xsd">
<database name="kaeru">
<table name="category">
<column name="id" />
<column name="name" />
<column name="created" type="timestamp" default="sysdate" />
<default>
<data><column name="name">仕事</column></data>
<data><column name="name">連絡</column></data>
<data><column name="name">買い物</column></data>
<data><column name="name">恋愛</column></data>
<data><column name="name">その他</column></data>
</default>
</table>
<table name="todo">
<column name="id" />
<column name="category" type="int" reference="category.id" />
<column name="subject" />
<column name="description" type="text" />
<column name="close" type="bool" default="false" />
<column name="priority" type="int" default="3" size="1">
<choices>
<data caption="blocker">5</data>
<data caption="critical">4</data>
<data caption="major">3</data>
<data caption="minor">2</data>
<data caption="trivial">1</data>
</choices>
</column>
<column name="created" type="timestamp" default="sysdate" />
<column name="updated" type="timestamp" default="sysdate" />
<default>
<data>
<column name="category" value="5" />
<column name="subject">このTODOを削除する</column>
<column name="description">自分のTODOを管理する前に、このタスクを削除する</column>
</data>
</default>
</table>
</database>
</project>
project.
このほかに、
database要素
同じデータベース内にあるテーブルのセットを記述します。この要素は複数記述することができます。要素ひとつにつき、
name属性には、
table要素
データベースのテーブルの定義を行います。name属性には、
name属性に設定した名前で同名のモデルクラスが生成されます。既に存在するクラス名
これは例えば次のようなものです。
<table name="rhaco" class="hoge">
column要素
テーブルに属するカラムの定義を行います。
要素名 | 必須 | 備考 |
---|---|---|
name | ○ | カラム名を設定します。 |
var | × | テーブルモデルに作られるメソッド名に利用されます。省略された場合はnameが使用されます。 |
type | × | カラムの種類を設定します。設定可能な種類については、 |
reference | × | リファレンス先のカラムを設定します。テーブル名とカラム名を . |
label | × | 簡易DB管理画面で使用される表示名です。テンプレートの記述によっては、 |
primary | × | primaryキーを指定します。trueまたはfalseを指定します。 |
default | × | デフォルトの値を指定します。種類がtime, date, timestampのときにsysdateと指定すると、 |
min | × | 最小値を指定します。 |
max | × | 最大値を指定します。 |
size | × | create table時のサイズを指定します。 |
require | × | 必須要素を指定します。trueまたはfalseを指定します。 |
requirewith | × | 制限付きの必須要素を指定します。カラム名を指定し、 |
unique | × | ユニーク設定。trueまたはfalseを指定します。 |
uniquewith | × | 2カラムの組み合わせてユニーク設定します。カラム名を指定します。 |
chartype | × | 正規表現で値を制限します。 |
type | ほかの記述方法 | 備考 |
---|---|---|
serial | シリアル値。serial指定した場合自動的にprimaryが設定される。 | |
boolean | bool, flag | 真偽値 |
integer | int | 整数値 |
float | double | 浮動小数値。float(10,5) などとして桁を設定できる。 |
string | str | 文字列 |
text | textarea | 文字列。管理画面ではtextareaで表示される。 |
date | 日付 | |
time | 時間。データベースではintegerで定義される。 | |
timestamp | タイムスタンプ | |
zip | 郵便番号。ハイフンは含まない。 | |
tel | 電話番号。ハイフンは含まない。 | |
メールアドレス | ||
birthday | bd | 誕生日型。unixtimeに制限されずに日付を保持できる。 |
name属性に
これらの表と、
default要素, data要素
省略可能。セットアップアプリケーションを用いてテーブルを作成したときに、
column要素で囲んだ値、
データベースの設定と作成
project.
データベース設定
データベースの項目をフォームで設定します。項目を入力したら

テーブルの作成
セットアップアプリケーション上部タブのdatabaseの項目を開き、
デフォルトでは、
簡易DB管理画面
セットアップアプリケーションには、
databaseのadminから、

簡単なアプリケーションであれば、
まとめ
セットアップアプリケーションとproject.
次回は、