gpt4 book ai didi

ruby-on-rails - 使用 rails 的 heroku pg 错误,说 "text"不允许使用类型修饰符

转载 作者:行者123 更新时间:2023-11-29 14:12:28 24 4
gpt4 key购买 nike

我得到了错误

PGError: ERROR:  type modifier is not allowed for type "text"
LINE 1: ...ng(255), "desc" character varying(255), "content" text(255),...

当我执行 heroku 运行 rake db:reset 时

我知道 postgresql 需要无限类型的“文本”并且在我最新的迁移文件中我有...

class ChangeLessonsTable < ActiveRecord::Migration
def change
change_table :lessons do |t|
t.change :content, :text, :limit => nil
end
end
end

虽然我仍然不断收到错误。任何想法为什么?我运行了 rake db:reset、rake db:migrate 和 git push 以确保我的本地数据库已更改。然后我运行 git heroku push 和 heroku run rake db:reset 但我一直收到那个错误。我错过了什么吗?谢谢

最佳答案

你应该能够完全放弃 :limit:

class ChangeLessonsTable < ActiveRecord::Migration
def change
change_table :lessons do |t|
t.change :content, :text
end
end
end

如果这不起作用,那么您可以尝试单独的向上和向下操作:

def up
change_column :lessons, :content, :text
end
def down
change_column :lessons, :content, :string
end

顺便说一句,如果你的目标是 PostgreSQL,你应该只使用 :text 而忘记 :string(又名 varchar)列类型,PostgreSQL 在内部对它们一视同仁。唯一需要为 varchar/:string 操心的时候是当您的数据完整性需要字符串大小的特定上限时。

关于ruby-on-rails - 使用 rails 的 heroku pg 错误,说 "text"不允许使用类型修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10202622/

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