Ruby on rails Rails db:迁移失败,出现SQL错误

Ruby on rails Rails db:迁移失败,出现SQL错误,ruby-on-rails,rake,Ruby On Rails,Rake,rake db:migrate在我的生产服务器上失败,错误为: Mysql2::Error:您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“字符串”附近使用的正确语法:“ALTER TABLE looks”添加“code”字符串 我的迁移代码是: class AddCodeToLook < ActiveRecord::Migration def self.up add_column :looks, :code, :String #failing lin

rake db:migrate在我的生产服务器上失败,错误为:

Mysql2::Error:您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第1行“字符串”附近使用的正确语法:“ALTER TABLE looks”添加“code”字符串

我的迁移代码是:

class AddCodeToLook < ActiveRecord::Migration
  def self.up
    add_column :looks, :code, :String #failing line
  end

  def self.down
    remove_column :looks, :code
  end
end
class AddCodeToLook
尝试
:string
而不是
:string
不确定这是否只是一个打字错误,但是
:string
应该是添加列行中的
:string

添加这样的列时,可以使用内置的rails生成器处理繁重的工作:

rails g migration AddCodeToLook code:string
根据,问题似乎是您没有为数据类型使用正确的大小写。您应该使用
:string

class AddCodeToLook < ActiveRecord::Migration
  def self.up
    add_column :looks, :code, :string
  end

  def self.down
    remove_column :looks, :code
  end
end
class AddCodeToLook
哦,天哪,我甚至没有注意到,奇怪的是它在sqlite上工作。非常感谢你,我真的很感激!有时候,你可能会在这些小小的错误上撞上你的脑袋很久,你要么最终发现它,要么别人马上发现它:谢谢你们,所有人都是正确的。