Solución:
Normalmente, Sequelize.js se adapta a la base de datos. Entonces, el atributo de autoincremento corresponde a un tipo de serie en PostgreSQL.
Ya trabajé con Sequelize y lo que recuerdo es que no es necesario especificar una identificación como clave principal. Sequelize lo hará por ti.
Intente no agregar un atributo de identificación y vea si Sequelize no lo agregará por usted o no.
omitNull
La opción config por defecto es falsa. Configúrelo en verdadero, y el id
será atendido por Postgres:
sequelize = new Sequelize('mydb', 'postgres', null, {
host: 'localhost',
port: 5432,
dialect: 'postgres',
omitNull: true
})
Visitor = sequelize.define('visitor', {
email: Sequelize.STRING
})
Visitor.create({email: '[email protected]'})
Me funcionó si agregué manualmente el campo “id” (en este caso, Sequelize no lo agregará automáticamente) en el modelo de esta manera:
Visitor = sequelize.define('visitor', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
email: Sequelize.STRING
})
resultado comando SQL es: “CREAR TABLA SI NO EXISTE” visitante “(” id “SERIAL,” correo electrónico “varchar (255) …”
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)