从rails中新生成的迁移更新模式?

时间:2014-02-20 00:07:51

标签: ruby-on-rails database migration database-schema

我该怎么做?我的原始模式我有一个名为“users”的表,它有一堆记录。我意外地删除了我的原始迁移,并且必须创建一个新的迁移,除了新的迁移之前有一个新的附加记录。

对不起我是专门用于rails和数据库的新手。非常感谢帮助

1 个答案:

答案 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列。