CakePHP 2.3.0-beta を試す
CakePHP 2.3.0 ベータ版がリリースされたとのこと
http://bakery.cakephp.org/articles/lorenzo/2012/10/28/cakephp_2_3_0-beta_released
ちょっとうれしいお知らせとしては、モデルで biginteger をサポートするとのこと。
PostgreSQL で試したところ、まだプライマリーキーとして biginteger は使えないみたい。
ベータ版だからだろうけど、SQL 構文エラーで止まってしまった。
SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "serial" LINE 2: "id" bigint serial NOT NULL,
CREATE TABLE 時に "bigserial" となってほしいところが "bigint serial" となってしまった。
Postgres.php の buildColumn() を修正する必要がある。とりあえず修正して手元では動くようになった。
$out = str_replace('integer serial', 'serial', $out);
のような記述があったので、その直下に
$out = str_replace('bigint serial', 'bigserial', $out);
という行を追加しておいた。
追記 (2013-12-25)
CakePHP 2.4.4 で修正されました。
http://bakery.cakephp.org/articles/markstory/2013/12/24/cakephp_2_4_4_released
- Postgres biginteger primary keys now correctly use the bigserial type.