0

我有这些实体,在每个实体上都在 @ORM\Table 注释中的参数上定义了“名称”和“模式”,但原则不会将模式转储到 sql 上。

更新:如果我将@ORM\Table 参数更改为 (name="RRHH.usuario") 转储不显示 sql,现在我正在使用 "doctrine/orm": "~2.2,>=2.2.3"和“教义/教义捆绑”:“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 应用程序/控制台原则: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 回答