如何通过cakephp phinx迁移来迁移列类型DOUBLE?

时间:2019-03-14 11:23:57

标签: mysql cakephp migration phinx

我正在尝试使用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');
}

}

1 个答案:

答案 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', [
    // ...
])