Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sequelize – Verwenden Sie den UNIX-Zeitstempel für DATE-Felder

Während eggyal 's Antwort ist der richtige Weg, Dinge in MySQL zu tun, einige von uns arbeiten möglicherweise in einer Umgebung oder einem Team, in dem wir einen Unix-Zeitstempel anstelle eines Datums/Zeitstempels verwenden müssen.

Ich fand, dass eine großartige Möglichkeit, dies zu erreichen, darin besteht, Hooks innerhalb von sequelize zu verwenden. Am Ende jedes Ihrer Modelle können Sie diesen Code hinzufügen:

{
        tableName: 'Addresses',
        hooks : {
            beforeCreate : (record, options) => {
                record.dataValues.createdAt = Math.floor(Date.now() / 1000);
                record.dataValues.updatedAt = Math.floor(Date.now() / 1000);
            },
            beforeUpdate : (record, options) => {
                record.dataValues.updatedAt = Math.floor(Date.now() / 1000);
            }
        }
    }

Dadurch wird createdAt eingefügt und updatedAt Felder als Unix-Zeitstempel.