我得到編譯錯誤:當參數自動增量= TRUE是考慮到主鍵語法錯誤或接近「串行」與自動增量只有
Server failed to start due to error: SequelizeDatabaseError: syntax error at or near "SERIAL"
此錯誤纔會出現。
'use strict';
export default function(sequelize, DataTypes) {
return sequelize.define('Ladder', {
ladder_id: {
type: DataTypes.UUID,
allowNull: false,
primaryKey: true,
autoIncrement: true //<------- If commented it works fine
},
ladder_name: {
type: DataTypes.STRING(50),
allowNull: false,
unique: true
},
ladder_description: {
type: DataTypes.TEXT,
allowNull: true
},
ladder_open: {
type: DataTypes.BOOLEAN,
allowNull: false
},
ladder_hidden: {
type: DataTypes.BOOLEAN,
allowNull: false
},
ladder_creation_date: {
type: DataTypes.DATE,
allowNull: false
},
ladder_fk_user: {
type: DataTypes.INTEGER,
allowNull: false
},
ladder_fk_game: {
type: DataTypes.UUID,
allowNull: false
},
ladder_fk_platforms: {
type: DataTypes.ARRAY(DataTypes.UUID),
allowNull: false
}
},
{
schema: 'ladder',
tableName: 'ladders'
});
}
我有Sequelize 3.30.4和postgreSQL 9.6。
我希望autoIncrement爲true,因爲我使用postgreSQL uuid_generate_v4()生成UUID。
因此,如果我得到了這個權利,你不能告訴Sequelize讓PostgreSQL通過創建表時配置的默認值來生成UUID嗎? – rXp
不,這是它所做的。將一個調用傳遞給postgresql生成器。這就是sequelize.fn的確如此 – e4c5
是的,但繼續傳遞自己的電話。他沒有使用在PostgreSQL中配置的默認值。 但我知道現在該做什麼。謝謝。 – rXp