Php 如何创建数据库迁移?

Php 如何创建数据库迁移?,php,mysql,ruby-on-rails,migration,Php,Mysql,Ruby On Rails,Migration,我是数据库迁移领域的新手。我在Rails和Laravel中使用或尝试使用迁移,但在其中任何一个中,我都不理解以下部分: 1.对于数据库的每次修改,如添加列,将字段类型从整数更改为字符串,将数据库类型从Myisam中的InnoDB更改,我是否应该从comand line生成迁移 php artisan make:migration ........ for laravel rake db:migration ..... for rails 或者编辑现有迁移文件,然后执行迁移?还是手动创建文件 2

我是数据库迁移领域的新手。我在Rails和Laravel中使用或尝试使用迁移,但在其中任何一个中,我都不理解以下部分:

1.对于数据库的每次修改,如添加列,将字段类型从整数更改为字符串,将数据库类型从Myisam中的InnoDB更改,我是否应该从comand line生成迁移

php artisan make:migration ........ for laravel
rake db:migration ..... for rails
或者编辑现有迁移文件,然后执行迁移?还是手动创建文件

2.当Laravel文件说明:

要重命名列,可以对架构使用renameColumn方法 建设者在重命名列之前,请确保添加doctor/dbal 对composer.json文件的依赖关系:


这意味着我必须将此代码插入最后一个迁移文件或创建新的迁移文件?

最常见的做法是为更改生成新的迁移。比较工作流:

创建新迁移时:

  • rails g迁移
  • rake数据库:迁移
  • 编辑现有文件时:

  • rake db:rollback#您不应该忘记首先执行它;此外,数据可能会丢失
  • 编辑迁移
  • rake数据库:迁移
  • 如果数据在第一步丢失,则恢复数据
  • 此外,当您在团队中工作时,每个成员也应该处理这些步骤。只是噪音太大,最好生成新的迁移

    Schema::table('users', function ($table) {
        $table->renameColumn('from', 'to');
    });