使用命令提示符* Ruby on Rails在表中创建一个字段

时间:2015-03-24 05:02:01

标签: ruby-on-rails ruby field

如何使用Ruby命令提示符在现有表中创建新字段?

我创建了模型(并迁移了它),但我忘了添加一个字段 - 我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

生成新迁移以向表中添加新列。

rails g migration add_column_name_to_table_name column_name:type

这将创建如下的迁移类:

#config/migration/20150304121554_add_column_name_to_table_name.rb
class AddColumnNameToTableName < ActiveRecord::Migration
  def change
    add_column :table_name, :column_name, :type
  end
end

这里,column_name,table_name和type应该是您想要的名称和类型。比运行rake db:migrate命令。

答案 1 :(得分:0)

有两种方法可以改变您的情况:

  • 回滚上次迁移
  • 在新迁移中添加新字段

只有在尚未将迁移推送到公共服务器时才应撤消上次迁移。以下是如何做到这一点:

  1. 运行rake db:rollback

  2. 将新字段添加到您最初使用的同一个迁移文件中

  3. 运行rake db:migrate

  4. 选项2:

    在新迁移中添加字段:

    rails g migration AddFieldNameToTableName
    

    例如,如果您的字段为name而您的表格为users,则可以运行:

    rails g migration AddNameToUsers
    

    这将创建一个新的迁移文件,其名称以今天的日期开头,以add_name_to_users.rb结尾。打开文件并使用add_column命令添加字段,如下所示:

    class AddNameToUsers < ActiveRecord::Migration
      def change
        add_column :users, :name, :string
      end
    end
    

    保存文件,然后运行rake db:migrate

    我建议您阅读Rails migrations guide了解详情。