📅  最后修改于: 2023-12-03 15:34:45.600000             🧑  作者: Mango
数据库迁移是在 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
的数据库表格,它包含了 email
和 password
两个字段:
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