如何使用Ruby命令提示符在现有表中创建新字段?
我创建了模型(并迁移了它),但我忘了添加一个字段 - 我该怎么做呢?
答案 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)
有两种方法可以改变您的情况:
只有在尚未将迁移推送到公共服务器时才应撤消上次迁移。以下是如何做到这一点:
运行rake db:rollback
将新字段添加到您最初使用的同一个迁移文件中
运行rake db:migrate
选项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了解详情。