Sequelize: defaultValue: DataTypes.NOW 不起作用

问题描述 投票:0回答:0

我正在尝试创建模型,其中一列将是创建日期。由于某种原因

 defaultValue: DataTypes.NOW
没有被添加为列的默认值。

const { Model, DataTypes } = require('sequelize');
const sequelize = require('../config/connection');

class Post extends Model {}

Post.init(
    {
        id: {
            type: DataTypes.INTEGER,
            allowNull: false,
            primaryKey: true,
            autoIncrement: true,
        },
        title: {
            type: DataTypes.STRING,
            allowNull: false,
        },
        content: {
            type: DataTypes.STRING,
            allowNull: false,
        },
        date_created: {
            type: DataTypes.DATE,
            allowNull: false,
            defaultValue: DataTypes.NOW,
        },
        user_id: {
            type: DataTypes.INTEGER,
            references: {
                model: 'user',
                key: 'id',
            },
        },
    },
    {
        sequelize,
        timestamps: false,
        freezeTableName: true,
        underscored: true,
        modelName: 'post',
    }
);

module.exports = Post;

描述:

+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | int          | NO   | PRI | NULL    | auto_increment |
| title        | varchar(255) | NO   |     | NULL    |                |
| content      | varchar(255) | NO   |     | NULL    |                |
| date_created | datetime     | NO   |     | NULL    |                |
| user_id      | int          | YES  | MUL | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+

我错过了什么?

database timestamp sequelize.js sqldatatypes
© www.soinside.com 2019 - 2024. All rights reserved.