私は Symfony2 と Doctrine から始めています。symfony をセットアップして新しいバンドルを作成した後、postgre データベースを元に戻す作業に行き詰まりました。次の最初のテーブルで例外を返します。
[Doctrine\ORM\MappingMappingException]
Table tb_core_table has no primary key. Doctrine does not support reverse engineering from tables that don't have a primary key.
これは私がコマンドラインで実行しているコマンドです:
php app/console doctrine:mapping:convert yml ./src/ak/ProcessamentoBundle/Resources/config/doctrine --from-database --force
OK、今では、すべてのテーブルに pk が必要であることをすでに知っています。そのため、doctrine はそれらと連携することができます。それが問題です。私の「tb_core_table」には主キーがありますが、何らかの理由で教義はそれを無視します。
いくつかの設定がありませんか?主キーを見つけることができるのはなぜですか?
これは私のテーブルDDLです:
CREATE TABLE tb_core_table (
id_table integer NOT NULL,
id_aux_table integer NOT NULL,
no_table character varying(255),
st_table integer
);
CREATE SEQUENCE tb_core_table_id_table_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER TABLE ONLY tb_core_table
ADD CONSTRAINT tb_core_table_pkey PRIMARY KEY (id_table);