📜  Ruby on Rails-迁移(1)

📅  最后修改于: 2023-12-03 15:34:45.600000             🧑  作者: Mango

Ruby on Rails - 数据库迁移

简介

数据库迁移是在 Ruby on Rails 中用来修改数据库的方法。它允许你以可追溯的方式添加、修改或删除数据库的表格和列。通过使用迁移,你可以将数据库结构与代码的版本对应起来,使得整个开发团队在不同的开发环境中使用同样的数据库结构。

使用方法
生成迁移

要生成一个新的迁移文件,你可以使用 rails generate migration 命令,如下所示:

rails generate migration AddEmailToUsers email:string

这个命令会生成一个名称为 add_email_to_users.rb 的迁移文件,在其中你可以使用 Ruby 操作数据库表格。

运行迁移

要运行数据库迁移,你可以使用 rails db:migrate 命令。这个命令将会把你生成的迁移文件中的代码应用到数据库中:

rails db:migrate
回滚迁移

如果你需要回滚之前的迁移操作,你可以使用 rails db:rollback 命令。这个命令会对最近的一次迁移进行回滚:

rails db:rollback

你也可以回滚多次迁移,使用带参数的 rails db:rollback 命令:

rails db:rollback STEP=3

这个命令会回滚最近的 3 次迁移。

查看迁移状态

要查看当前所有的迁移状态,你可以使用 rails db:migrate:status 命令。这个命令会输出当前数据库中已经完成的所有迁移,以及每个迁移的状态。

rails db:migrate:status
修改迁移

如果你已经生成了一个迁移文件,但是需要修改它,你可以使用 rails generate migration 命令来重新生成一个新的迁移文件,再手动修改它。然后使用 rails db:migrate 命令来更新数据库表格。

示例代码

下面是一个示例的迁移文件,用来创建一个名为 Users 的数据库表格,它包含了 emailpassword 两个字段:

class CreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      t.string :email
      t.string :password

      t.timestamps
    end
  end
end

我们可以使用 rails db:migrate 命令来将这个迁移文件应用到数据库中:

rails db:migrate

这个命令会在你的数据库中创建一个名为 Users 的表格。到这里,你就可以在你的代码中使用 User 模型来访问这个表格了。例如:

class User < ActiveRecord::Base
end