Ruby on rails 使用命令提示符*RubyonRails在表中创建字段

Ruby on rails 使用命令提示符*RubyonRails在表中创建字段,ruby-on-rails,ruby,field,Ruby On Rails,Ruby,Field,如何使用Ruby命令提示符在现有表中创建新字段 我创建了模型(并对其进行了迁移),但我忘了添加一个字段-我该如何执行此操作?生成一个新的迁移以向表中添加一个新列 rails g migration add_column_name_to_table_name column_name:type 这将创建一个迁移类,如下所示: #config/migration/20150304121554_add_column_name_to_table_name.rb class AddColumnNameTo

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


我创建了模型(并对其进行了迁移),但我忘了添加一个字段-我该如何执行此操作?

生成一个新的迁移以向表中添加一个新列

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
#config/migration/20150304121554_添加_列_名称_至_表_name.rb
类AddColumnNameToTableName

这里,列名称、表名称和类型应该是您想要的名称和类型。然后运行
rakedb:migrate
命令

有两种方法可以改变你的处境:

  • 回滚上一次迁移
  • 在新迁移中添加新字段
只有在尚未将迁移推送到公共服务器的情况下,才应撤消上次迁移。以下是如何做到这一点:

  • 运行rake数据库:回滚

  • 将新字段添加到最初使用的迁移文件中

  • 运行rake db:migrate

  • 选项2:

    要在新迁移中添加字段,请执行以下操作:

    rails g migration AddFieldNameToTableName
    
    例如,如果字段为
    name
    ,表为
    users
    ,则运行:

    rails g migration AddNameToUsers
    
    这将创建一个新的迁移文件,其名称以今天的日期开始,以
    add_name_to_users.rb
    结束。使用
    add\u column
    命令打开文件并添加字段,如下所示:

    class AddNameToUsers < ActiveRecord::Migration
      def change
        add_column :users, :name, :string
      end
    end
    
    类AddNameToUsers 保存文件,然后运行
    rake db:migrate


    我鼓励您阅读以了解更多信息。

    我是否将添加列名称添加到表格名称替换为(如果我的表格名称=显示,字段=类别)以将类别添加到显示类别:引用?是的,您应该这样做。