我正在开发一个Ruby on Rails应用程序,该应用程序在LONGTEXT列中存储了大量文本。我注意到,当部署到Heroku (它使用PostgreSQL)时,由于其中两个列的大小太大,我得到了插入异常。为了在PostgreSQL中获得标记的大型文本列类型,是否必须执行一些特殊的操作?
这些在Rails迁移中被定义为"string“数据类型。
发布于 2011-02-09 20:49:40
如果还想在PostgreSQL中使用长文本数据类型,只需创建它即可。domain将执行以下操作:
CREATE DOMAIN longtext AS text;
CREATE TABLE foo(bar longtext);发布于 2011-02-09 20:39:43
在PostgreSQL中,必需的类型是text。请参阅文档的Character Types部分。
发布于 2011-02-10 06:28:40
将模型数据类型更新为“text”的新迁移应该可以完成这项工作。不要忘记重新启动数据库。如果你仍然有问题,看看你的模型与'heroku控制台‘,只需输入模型名称。
如果数据库重启不能解决这个问题,我想出的唯一办法就是用'heroku pg: reset‘重置数据库。如果你的数据库中已经有了重要的数据,那就没什么好笑的了。
https://stackoverflow.com/questions/4944915
复制相似问题