我该怎么做?我的原始模式我有一个名为“users”的表,它有一堆记录。我意外地删除了我的原始迁移,并且必须创建一个新的迁移,除了新的迁移之前有一个新的附加记录。
对不起我是专门用于rails和数据库的新手。非常感谢帮助
答案 0 :(得分:1)
也许这会帮助你。
数据库包含架构,表格和记录(其他方面)。< / p>
架构是数据库的结构。表名,列名和关系等内容。
数据库有表格。
表格有记录。
记录是表格中的一行数据。
迁移以某种方式修改数据库的架构或结构。例如,创建新表或向表中添加列。迁移是有益的,因为您可以跟踪对架构所做的更改,甚至“撤消”一个。
假设我们已经有一个users
表,但我们想要添加一个名为'full_name'的列。我们可以创建一个迁移:
$ rails generate migration AddFullNameToUsers full_name:string
这会在db/migrate
中生成一个名为<date>_add_full_name_to_users.rb
的文件,其中包含:
class AddFullNameToUsers < ActiveRecord::Migration
def change
add_column :users, :full_name, :string
end
end
但是,尚未对数据库进行任何更改!我们需要执行迁移:
$ rake db:migrate
现在我们的users
表有一个名为full_name
的新列。如果我们想撤消我们可以rollback
迁移:
$ rake db:rollback
我们的用户表不再有full_name
列。