0

私はこれらのエンティティを持っています.各エンティティには @ORM\Table 注釈のパラメータで「名前」と「スキーマ」が定義されていますが、教義はSQLでスキーマをダンプしません.

更新: @ORM\Table パラメーターを (name="RRHH.usuario") に変更すると、ダンプに sql が表示されません。現在、"doctrine/orm": "~2.2,>=2.2.3" を使用しています。および "doctrine/doctrine-bundle": "v1.2.0".

更新: バージョン "doctrine/orm": "2.4. @dev"、"doctrine/doctrine-bundle": "1.3. @dev"、同じ問題。

/**
 *  Entidad Usuario
 *
 * @ORM\Entity
 * @ORM\Table(name="usuario", schema="RRHH")
 */
class Usuario implements UserInterface
{
...
}

/**
 * Entidad Rol
 *
 * @ORM\Entity
 * @ORM\Table(name="rol", schema="RRHH")
 */
class Rol implements RoleInterface{
...
}

php アプリ/コンソール doctrine:schema:create --dump-sql

CREATE TABLE rol
(
   id     NUMBER(10) NOT NULL,
   nombre VARCHAR2(255) NOT NULL,
   PRIMARY KEY(id)
);

CREATE TABLE usuario
  (
    id       NUMBER(10) NOT NULL,
    usuario  VARCHAR2(255) NOT NULL,
    password VARCHAR2(255) NOT NULL,
    salt     VARCHAR2(255) NOT NULL,
    PRIMARY KEY(id)
  );

CREATE TABLE usuario_rol
  (
    usuario_id NUMBER(10) NOT NULL,
    rol_id     NUMBER(10) NOT NULL,
    PRIMARY KEY(usuario_id, rol_id)
  );

CREATE INDEX IDX_72EDD1A4DB38439E ON usuario_rol (usuario_id);
CREATE INDEX IDX_72EDD1A44BAB96C ON usuario_rol(rol_id);

CREATE SEQUENCE rol_id_seq START WITH 1 MINVALUE 1 INCREMENT BY 1;

CREATE SEQUENCE usuario_id_seq START WITH 1 MINVALUE 1 INCREMENT BY 1;

ALTER TABLE usuario_rol ADD CONSTRAINT FK_72EDD1A4DB38439E FOREIGN KEY (usuario_id) REFERENCES usuario (id);

 ALTER TABLE usuario_rol ADD CONSTRAINT FK_72EDD1A44BAB96C FOREIGN KEY (rol_id) REFERENCES rol (id);
4

1 に答える 1

0

ドキュメントによるとschema、注釈にはオプションがありません。これの回避策は、テーブル名でスキーマを指している可能性があるため、次のようになります。

/**
 *  Entidad Usuario
 *
 * @ORM\Entity
 * @ORM\Table(name="rrhh.usuario")
 */
class Usuario implements UserInterface
{
...
}
于 2014-07-08T05:57:25.197 に答える