Doctrine ORM を使用して Symfony 1.4 をインストールしました。
プラグイン sfDoctrineGuard をインストールしようとしています。ここの指示に従いました: http://www.symfony-project.org/plugins/sfDoctrineGuardPlugin
このステップまではすべて正常に動作します: symfony doctrine:insert-sql
エラーが発生した場合:
SQLSTATE[HY000]: 一般エラー: 1005 テーブル 'kickboxing.#sql-2b5b_a8f' を作成できません (エラー 150) クエリに失敗しました "ALTER TABLE profile ADD CONSTRAINT profile_sf_guard_user_id_sf_guard_user_id FOREIGN KEY (sf_guard_user_id)
いくつかのテーブルを作成したようです:
プロファイル sf_guard_forgot_password sf_guard_group sf_guard_group_permission sf_guard_permission sf_guard_remember_key sf_guard_user sf_guard_user_group sf_guard_user_permission
何か案は?
更新: 私は、これが doctrine/symfony とはまったく関係がないことを発見した後です。問題はmysqlにあるようです。MySQLで上記のalterコマンドを実行しましたが、もちろん同じエラーが発生しました。
参考までに、Debian Squeeze と mysql 5 をインストールしました。
UPDATE2 : 実行時
SHOW INNODB STATUS;
私は得る
最新の外部キー エラー
110927 7:58:35 テーブル _kickboxing/#sql-2b5b_a86 の外部キー制約のエラー: FOREIGN KEY (sf_guard_user_id) REFERENCES sf_guard_user(id): 参照されたテーブルで、参照された列が最初の列として表示されるインデックスが見つからない、またはテーブルと参照されるテーブルの列の型が一致しません。>= InnoDB-4.1.12 で作成されたテーブルでは ENUM および SET の内部ストレージ タイプが変更され、古いテーブルのそのような列は新しいテーブルのそのような列によって参照されないことに注意してください。 正しい外部キーの定義については、 http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.htmlを参照してください。