php - 如何创建数据库迁移?

标签 php mysql ruby-on-rails migration

我是数据库迁移领域的新手。我在 Rails 和 Laravel 中使用或尝试使用迁移,但在它们中我都不理解这部分内容:

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

php artisan make:migration ........ for laravel
rake db:migration ..... for rails

或者编辑现有的迁移文件并在执行迁移之后?还是手动创建文件?

2.当 Laravel 文档说:

To rename a column, you may use the renameColumn method on the Schema builder. Before renaming a column, be sure to add the doctrine/dbal dependency to your composer.json file:

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

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

最佳答案

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

创建新迁移时:

  1. rails g 迁移 ...
  2. rake 数据库:迁移

编辑现有时:

  1. rake db:rollback # 你不应该忘记先执行它;此外,数据可能会丢失
  2. 编辑迁移
  3. rake 数据库:迁移
  4. 如果数据在第一步丢失,则恢复数据

此外,当您在团队中工作时,每个成员也应该处理这些步骤。噪音太大,最好产生新的迁移。

关于php - 如何创建数据库迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34799213/

相关文章:

php - 针对 20 到 4,000 个字符之间的各种 VarChar 长度优化 MySQL 表

python - django.db.utils.InterfaceError : (0, '' )

ruby-on-rails - link_to block 不起作用

ruby-on-rails - 如何观察模型的变化?

mysql - 嵌入Debezium。尝试查看偏移文件的格式。不工作

ruby-on-rails - 查询多条记录时如何避免ActiveRecord::RecordNotFound异常

php - APC缓存一致性问题

php - 循环逻辑 PHP 出错

php - PHP Elasticsearch集群

MySQL 字段 MS-1 到 ms0001