gpt4 book ai didi

ruby-on-rails - Rails 3/Heroku - 推送到 Heroku 时重置数据库时出错 - 'type modifier is not allowed for type "文本"'

转载 作者:行者123 更新时间:2023-12-01 18:48:09 25 4
gpt4 key购买 nike

我正在尝试使用 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/

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