gpt4 book ai didi

ruby-on-rails - { :null=>false} in my migration: why? 的未定义方法 `to_sym'

转载 作者:行者123 更新时间:2023-12-04 05:52:59 25 4
gpt4 key购买 nike

我有一个迁移给我一个错误:

class DeviseTokenAuthCreateUsers < ActiveRecord::Migration
def change
unless column_exists? :users, :provider
add_column :users, :provider, :null => false
end
unless column_exists? :users, :uid
add_column :users, :uid, :null => false, :default => "email"
end
unless column_exists? :users, :tokens
add_column :users, :tokens, :text
end
User.reset_column_information
User.all.each{|u| u.save! }

add_index :users, [:uid, :provider], :unique => true
end

end

错误是:
undefined method `to_sym' for {:null=>false}:Hash/Users/scrivoaroby/.rvm/gems/ruby-2.0.0-p481/gems/activerecord-4.1.9/lib/active_record/connection_adapters/abstract/schema_definitions.rb:311:in `add_column'

我的 rails 版本是 4.1.9

任何的想法?

最佳答案

add_column 的第三个参数应该是数据类型。而不是像:

add_column :users, :provider, :null => false

你会想要这样的东西,任何适合你的列的数据类型:
add_column :users, :provider, :string, :null => false

这也需要为 :uid 完成。柱子。

关于ruby-on-rails - { :null=>false} in my migration: why? 的未定义方法 `to_sym',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29197184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com