Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP迁移脚本没有';t更新表模型_Php_Mysql_Cakephp_Migration - Fatal编程技术网

CakePHP迁移脚本没有';t更新表模型

CakePHP迁移脚本没有';t更新表模型,php,mysql,cakephp,migration,Php,Mysql,Cakephp,Migration,我需要在数据库中的用户表中添加一个admin列。我使用以下命令创建了迁移脚本 bin/cake bake migration AddAdminToUsers admin:boolean 这基本上满足了我的要求,我只是将默认值更改为false。我的迁移脚本现在看起来像这样 <?php use Migrations\AbstractMigration; class AddAdminToUsers extends AbstractMigration { public function

我需要在数据库中的用户表中添加一个admin列。我使用以下命令创建了迁移脚本

bin/cake bake migration AddAdminToUsers admin:boolean
这基本上满足了我的要求,我只是将默认值更改为
false
。我的迁移脚本现在看起来像这样

<?php
use Migrations\AbstractMigration;

class AddAdminToUsers extends AbstractMigration
{
    public function change()
    {
        $table = $this->table('users');
        $table->addColumn('admin', 'boolean', [
            'default' => false,
            'null' => false
        ]);
        $table->update();
    }
}

运行迁移时,它会将其标记为已迁移,除非执行以下操作,否则不能再运行一次。回滚将取消上一次迁移,您将能够再次运行该迁移。以下是cakphp用于迁移的插件的完整信息。

当您运行迁移时,它将标记为已迁移,并且您无法再次运行该迁移,除非执行以下操作。回滚将取消上一次迁移,您将能够再次运行该迁移。以下是cakphp用于迁移的插件的详细说明。

高效而正确的方法是不删除迁移,并创建具有相同表名的新迁移来删除/更改迁移table@prats1411因此,每个迁移脚本只能是执行一次?(除非我正在执行回滚,否则我认为)高效且正确的方法是不删除迁移,并创建具有相同表名的新迁移来删除/更改数据table@prats1411那么每个迁移脚本只能执行一次?(除非我正在执行回滚,否则我假设)迁移脚本应该更新用户表模型,还是严格地说只更新数据库?严格地说是数据库。您还应该重新烘焙模型,或者在迁移完成后自行更改它。迁移脚本应该更新用户表模型,或者严格地说是仅更新数据库?严格地说是数据库。您还应该重新烘焙模型,或者在移植完成后自行更改模型