Когда я следую инструкциям по созданию большего поля в psql с помощью sequelize, он все равно всегда выдвигает 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;
};
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"));
Когда я пытаюсь вставить большую строку (более 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"
}