作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 sqlite3 从 Rails 3 应用程序 heroku rake db:reset
,但出现以下错误:
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 或它所做的事情。但似乎某些限制正在将其抛在一边。我处理这个问题的最佳方法是什么?
如果我应该发布其他内容,请告诉我。
最佳答案
将您最近的迁移更改为
change_table :mixes do |t|
t.change :content, :text, :limit => nil
t.change :post, :text, :limit => nil
end
这是使用 sqlite3 进行开发时必须注意的众多细微差别之一:( 仅当您将列的类型从字符串更改为文本时才会发生。
关于ruby-on-rails - Rails 3/Heroku - 推送到 Heroku 时重置数据库时出错 - 'type modifier is not allowed for type "文本"',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7208529/
我是一名优秀的程序员,十分优秀!