cakePHP 3.0预填充数据库 - 迁移

时间:2015-05-06 07:32:11

标签: mysql cakephp migration entity cakephp-3.0

我有一个现有的数据库。使用此命令,我创建了我的迁移文件:

bin/cake bake migration_snapshot Initial

现在我想预先填充数据库,我猜想应该在此迁移文件中完成,但无法在线查找示例。

在下面链接的概述部分中,我读到应该可以使用迁移将数据插入数据库。

  

http://book.cakephp.org/3.0/en/migrations.html

示例

添加列

$user = $this->table('users', ['id' => false, 'primary_key' => ['user_id']]);
    $user
        ->addColumn('user_id', 'integer', [
            'default' => null,
            'limit' => 11,
            'null' => false,
        ])
->create();

填充(这不起作用)

$user = TableRegistry::get('Users')->newEntity();
$user = TableRegistry::get('Users')->newEntity([
      'user_id' => 1,
   ]);

1 个答案:

答案 0 :(得分:0)

在通过迁移更新数据库时,您应该使用update而不是create

$user = $this->table('users', ['id' => false, 'primary_key' => ['user_id']]);
$user
    ->addColumn('user_id', 'integer', [
        'default' => null,
        'limit' => 11,
        'null' => false,
    ])
   ->update();

并使用

bin/cake migrations migrate