我的User_ID miration表示整数不是整数。
class AddUserIdToPins < ActiveRecord::Migration
def change
add_column :pins, :user_id, :interger
add_index :pins, :user_id
end
end
我假设我无法从&#34; interger&#34;到&#34;整数&#34;使用我的文本编辑器,因为它也应该在我的表中。
答案 0 :(得分:0)
像这样编辑您的迁移:
class AddUserIdToPins < ActiveRecord::Migration
def up
add_reference :pins, :user, index: true
end
def down
remove_index :pins, :user_id
remove_column :pins, :user_id
end
end
您回滚该迁移:
bin / rake db:migrate:down VERSION = version_number
再试一次:
bin / rake db:migrate:up VERSION = version_number
答案 1 :(得分:0)
您可以将其更改为:integer
然后必须运行迁移,这将把列放在db-tables中:
rake db:migrate
如果您尝试像这样运行迁移,则应显示如下错误:
type "interger" does not exist
答案 2 :(得分:0)
这是方法:
(A)首先获取特定的迁移号码:
[shreyas@Arup-iMac rails_app_test (master)]$ rake db:migrate:status
database: app_development
Status Migration ID Migration Name
--------------------------------------------------
up 20150219075735 Create people
up 20150219085131 Add likes to persons
up 20150219114058 Add email to people
[shreyas@Arup-iMac rails_app_test (master)]$
(B)现在假设您要编辑迁移, 20150219085131 ,然后执行:
bin/rake db:migrate:down VERSION=20150219085131
(C)然后编辑您的迁移并修复您要修复的内容:
class AddUserIdToPins < ActiveRecord::Migration
def change
add_column :pins, :user_id, :integer
add_index :pins, :user_id
end
end
(D)最后,再次:
rake db:migrate:up VERSION=20150219085131
你完成了!
如果您无法运行当前迁移,那么不用担心,只需通过 hand 更改文件内容,然后运行 rake db:migrate 。