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