Php Symfony2 Doctrine2 Oracle数据库编号默认类型?

Php Symfony2 Doctrine2 Oracle数据库编号默认类型?,php,sql,oracle,symfony,doctrine-orm,Php,Sql,Oracle,Symfony,Doctrine Orm,我有一个问题,我将一个应用程序从Symfony 1.4迁移到了Symfony 2.4。我在让十进制变量工作时遇到了一些麻烦。我最后用另一种类型更新了数据库,但现在我必须使用旧的Oracle生产数据库,Doctrine2告诉我,如果字段类型中有数据,我就不能更新它 它存储的数据是0.1或0.5或1.0 在Oracle中,数据类型为“数字” 当我用Symfony2命令导出旧数据库时,条令中的数据类型是整数。。。我不能有带整数的小数。 当我尝试将类型更改为小数,小数位数为2时,我得到的错误是无法更改类

我有一个问题,我将一个应用程序从Symfony 1.4迁移到了Symfony 2.4。我在让十进制变量工作时遇到了一些麻烦。我最后用另一种类型更新了数据库,但现在我必须使用旧的Oracle生产数据库,Doctrine2告诉我,如果字段类型中有数据,我就不能更新它

它存储的数据是0.1或0.5或1.0

在Oracle中,数据类型为“数字”

当我用Symfony2命令导出旧数据库时,条令中的数据类型是整数。。。我不能有带整数的小数。 当我尝试将类型更改为小数,小数位数为2时,我得到的错误是无法更改类型

生成的Doctrine2代码:

/**
 * @var integer
 *
 * @ORM\Column(name="ROUNDNUMBER", type="integer", nullable=false)
 */
private $roundnumber;
Doctrine1模式:

ApprenticeYeartype:
  columns:
    id:                  {type: integer, notnull: true, primary: true, autoincrement: true}
    name:                {type: string(255), notnull: true}
    roundNumber:         {type: float, notnull: true}
如果尝试将Doctrine2值设置为float和update,则会出现以下错误:

 [Doctrine\DBAL\DBALException]
 An exception occurred while executing 'ALTER TABLE APPRENTICE_YEARTYPE MODI
 FY (ROUNDNUMBER  DOUBLE PRECISION DEFAULT NULL)':

 ORA-01440: column to be modified must be empty to decrease precision or sca
 le






 [Doctrine\DBAL\Driver\OCI8\OCI8Exception]
 ORA-01440: column to be modified must be empty to decrease precision or sca
 le
我受够了,有人能帮我吗


关于

最后,我将条令类型更改为“十进制,精度2,刻度1”

我手动将Oracle类型更新为数字(2,1)。

为什么在Oracle中将Doctrine1类型“float”设置为数字默认值,而将Doctrine2类型“float”设置为DOUBLE???
 [Doctrine\DBAL\DBALException]
 An exception occurred while executing 'ALTER TABLE APPRENTICE_YEARTYPE MODI
 FY (ROUNDNUMBER  DOUBLE PRECISION DEFAULT NULL)':

 ORA-01440: column to be modified must be empty to decrease precision or sca
 le






 [Doctrine\DBAL\Driver\OCI8\OCI8Exception]
 ORA-01440: column to be modified must be empty to decrease precision or sca
 le