2009年7月22日 星期三

symfony "schema.yml" file

`schema.yml` 文件包含了所有的資料庫表格的規劃描述。每個都通過如下訊息描述:

* `type`: 資料類型 (`boolean`, `tinyint`, `smallint`, `integer`, `bigint`, `double`,
`float`, `real`, `decimal`, `char`, `varchar(size)`, `longvarchar`,
`date`, `time`, `timestamp`, `blob`, `clob`)

* `required`: 設為 `true` 用來表示此欄位內容不得為空白

* `index`: 設為 `true` 為該表格創建索引鍵,或者設置 `unique` 在該表格上創建唯一索引鍵。

對於設置資料內容為 `~` (`id`, `created_at`, 和 `updated_at`) 的資料,symfony 會探測最合適的
配置方式(`id`是作為主鍵,`created_at` 和 `updated_at`是時間戳記)

**NOTE**
`onDelete`: 屬性定義了外鍵的`ON DELETE`行為。Propel 只是 `CASCADE`, `SETNULL`,
`RESTRICT` 等幾種。
例如,删除一條 `job` 紀錄後,`jobeet_job_affiliate` 中所有相關
紀錄也會自動通過數據庫删除。如果底層的數據庫引擎不支持該功能,Propel可以做到。

0 意見: