Rails 3 - heroku PGError:错误:“文本”类型不允许使用类型修饰符

问题描述 投票:0回答:2

我是 Rails 的新手,到目前为止表现还不错。我想找出当您执行 heroku rake db:setup 时上传的架构文件。因为即使我已经删除了一个表,它仍然尝试在heroku上创建它并给出错误。

我什至尝试重新创建表格,但它一直记住旧的设置并出错。

PGError:错误:“文本”类型不允许使用类型修饰符第 1 行:
“培训”(“id”序列主键,“内容”文本(255),...

它正在尝试使用内容列文本创建表格训练,但我不再有该设置,并且我认为该设置已保存在某处。

我什至尝试删除我的应用程序并重新启动它,但没有成功。

有什么线索吗?

谢谢。

database postgresql ruby-on-rails-3 heroku typeerror
2个回答
8
投票

heroku 上的默认数据库是 postgresql。 postgresql 中的文本类型不接受大小:它是无限的。

参见 http://www.postgresql.org/docs/9.1/static/datatype-character.html


0
投票

我在下面遇到了同样的错误:

错误:“文本”类型不允许使用类型修饰符

当我尝试使用

name
设置
TEXT(20)
列时,如下所示:

CREATE TABLE p1 (
  id INT,
  name TEXT(20) -- Here
);

所以,我删除了

(20)
,如下图,然后错误就解决了:

CREATE TABLE p1 (
  id INT,
  name TEXT -- Here
);

或者,我使用了

VARCHAR(20)
,如下图,然后错误就解决了:

CREATE TABLE p1 (
  id INT,
  name VARCHAR(20) -- Here
);
© www.soinside.com 2019 - 2024. All rights reserved.