我正在尝试heroku rake db:使用sqlite3从Rails 3应用程序重置,但是我收到以下错误:
rake aborted!
PGError: ERROR: type modifier is not allowed for type "text"
LINE 1: ...ary key, "name" character varying(255), "content" text(255),...
^
这是我最近的迁移:
change_table :mixes do |t|
t.change :content, :text
t.change :post, :text
end
和我的schema.rb:
create_table "mixes", :force => true do |t|
t.string "name"
t.text "content", :limit => 255
t.datetime "created_at"
t.datetime "updated_at"
t.string "mixologist"
t.string "link"
t.string "title"
t.text "post", :limit => 255
end
根据我的理解,Sqlite3不对字符串和文本强制执行限制,我自己也没有添加这些限制。我认为Heroku会自动处理转换为Postgres或其他任何东西的人。但似乎限制在某个地方抛弃它。对我来说,最好的方法是什么?
如果我发布任何其他内容,请告诉我。
非常感谢。
答案 0 :(得分:4)
将您最近的迁移更改为
change_table :mixes do |t|
t.change :content, :text, :limit => nil
t.change :post, :text, :limit => nil
end
这是使用sqlite3进行开发时需要注意的许多细微差别之一:(只有当您将列的类型从字符串更改为文本时才会发生。