我正在尝试使用Phinx迁移将表从db1迁移到db2,但是我对一个列类型为DOUBLE
的表存在问题。我知道那里有受支持的类型Phinx column type,但是可以指定FLOAT
类型来获取diff_migration中的DOUBLE
吗?我使用的是Cakephp版本3.5.6。
我的示例migration_diff
<?php
use Migrations\AbstractMigration;
class Diff003 extends AbstractMigration
{
public function up()
{
$this->table('test_double')
->addColumn('double1', 'float', [ // here type DOUBLE is changing to FLOAT
'default' => null,
'limit' => null,
'null' => true,
])
->addColumn('double2', 'float', [
'default' => null,
'limit' => null,
'null' => true,
])
->create();
}
public function down()
{
$this->dropTable('test_double');
}
}
答案 0 :(得分:0)
DOUBLE
类型是最近实现的,可能会在下一个Phinx版本中使用,请参见 https://github.com/cakephp/phinx/pull/1493 。
在此之前,例如,您可以通过原始SQL手动添加列,例如:
$this->execute('ALTER TABLE test_double ADD COLUMN double1 DOUBLE NULL');
或者,如果您喜欢冒险,请使用Phinx master分支,直到发布稳定版本为止:
composer require robmorgan/phinx:dev-master
->addColumn('double1', 'double', [
// ...
])