sql >> Databasteknik >  >> RDS >> Mysql

Sequelize — använd UNIX-tidsstämpel för DATE-fält

Medan eggyal Svaret är det rätta sättet att göra saker i MySQL, några av oss kanske arbetar i en miljö eller ett team som kräver att vi använder en unix-tidsstämpel istället för en datetime/timestamp.

Jag upptäckte att ett bra sätt att åstadkomma detta är att använda krokar inuti uppföljaren. Längst ned på var och en av dina modeller kan du lägga till denna kod:

{
        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);
            }
        }
    }

Detta kommer att infoga createdAt och updatedAt fält som unix-tidsstämplar.



  1. Anrop lagrad procedur med tabellvärderad parameter från java

  2. Skapa en SQL Server-tabell från en C#-datatabell

  3. Repository Pattern utan LINQ eller annan ORM?

  4. Hur man beräknar total försäljning per månad i MySQL?