yukiです。
今回は「symfonyでよくあるトラブル」を掲載してからちょうど1年を経過したので、また今年も取り上げてみたいと思います。
前回はsymfony+MySQLを使っての場合でしたが、今回はsymfony+PostgreSQLでお送りします。 とはいえ以前よりもだいぶsymfonyを取り巻く状況も変化し、バグらしいバグもほとんど既知のものだったり、枯れて(?)きたのかな、とも思います。 そんななか、小一時間ほどハマってしまった不具合があったので、今回はそのご紹介のみになります。
symfony propel-build-modelで作成したSQLのシーケンス名が食い違う
どうもテーブル名やカラム名がある程度長いと、途中で省略されてしまったりして、誤認識してしまう。
PostgreSQLの場合英数字63文字(63byte)までは問題ないはずが、どうもそれより短い文字数でも途中で切れてしまう問題。
どうもPropelのバグらしいので、自作パッチを当てるなり、UPDATEで修正されることを期待するしかなさそうです。
$ cat symfony/lib/vendor/propel-generator/classes/propel/engine/platform/PgsqlPlatform.php
中略
/**
* @see Platform#getMaxColumnNameLength()
*/
public function getMaxColumnNameLength()
{
return 32;
}
中略
今回もアッサリしたエントリになってしまいましたが、お役に立てれば幸いです。