当前位置: 首页 > 知识库问答 >
问题:

heroku pg使用rails时出错,表示“text”不允许使用类型修饰符。

乐正明辉
2023-03-14
PGError: ERROR:  type modifier is not allowed for type "text"
LINE 1: ...ng(255), "desc" character varying(255), "content" text(255),...
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,但我一直得到那个错误。我是不是漏掉了什么?谢谢

共有1个答案

牟星火
2023-03-14

您应该可以完全删除: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费心的唯一时间是当您的数据完整性要求对字符串大小设置特定的上限时。

 类似资料:
  • 我的application.properties(读取环境变量) MyService类: 给它赋值并不能解决问题。例如,用 null 对于我所读的内容,我需要一个委托的(https://kotlinlang.org/docs/reference/delegated-properties.html),但我不能完全理解它。另外,如果有一个“更干净”的解决方案,我不想编写另一个方法来设置属性。有什么想法

  • 我在中定义了一个实例变量,并希望在的方法中初始化它。 在中有什么方法可以做到这一点吗?

  • 问题内容: 我正在学习使用课程,而我的作业的一部分是参加汽车课。我在第6行遇到错误,尝试在该行中打印方法的结果。我认为这意味着我正在尝试打印不存在的内容,并且我怀疑这是里程方法。我尝试将其更改为返回英里,但这也没有用。有任何想法吗? 问题答案: 该错误消息告诉您确切的问题是什么-您正试图从不返回结果的方法中提取结果。 而是让方法 返回 字符串,而不是打印出字符串。 我本人将使它成为一种吸气剂方法,

  • 我已经在我的nuxtjs项目中使用了nuxt auth。在此处输入图像描述

  • 这是我的jQuery代码,我用它来做一个Ajax请求: 这是我写的路线代码: 每当我在这个URL上发布ajax请求时,它都会给我一个405(不允许使用方法)。 为什么会发生这种错误?

  • 我在尝试使用类名时遇到代码问题。我已尝试并运行时错误32显示为: 也许有人可以帮助编写下面的代码。我有chrome浏览器103.5060.114,但web驱动程序103.5060.56。我找不到其他司机下载。 超文本标记语言: VBA代码: 我的目标是将发送接收WhatsApp图标带到Excel表