Kev*_*ing 6 postgresql node.js sequelize.js
当我按照如何通过sequelize在psql中创建更大字段的说明进行操作时,它VARCHAR(255)
在创建表时仍然总是推送。序列化数据类型
这是我的续集模型:
'use strict';
module.exports = (sequelize, DataTypes) => {
const Message = sequelize.define(
'Message',
{
message: {
type: DataTypes.STRING(2048),
allowNull: false,
validate: {
notEmpty: true
}
}
},
{}
);
Message.associate = function(models) {
// associations can be defined here
};
return Message;
};
Run Code Online (Sandbox Code Playgroud)
DataTypes.TEXT
具有相同的结果。
这是它输出的 SQL:
CREATE TABLE IF NOT EXISTS "Messages" ("id" SERIAL , "message" VARCHAR(255) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, PRIMARY KEY ("id"));
Run Code Online (Sandbox Code Playgroud)
当我尝试将大字符串(超过 255 个字符)插入此字段时,出现以下错误:
error: value too long for type character varying(255)
我已经在项目中尝试了以下 github 问题,但它们似乎对我不起作用。相关github问题。
感谢您的任何帮助。
眼镜:
psql(PostgreSQL)10.5
节点v10.4.0
.
"dependencies": {
"pg": "^7.5.0",
"pg-hstore": "^2.3.2",
"sequelize": "^4.39.0",
"sequelize-cli": "^5.2.0"
}
Run Code Online (Sandbox Code Playgroud)