sql >> Databáze >  >> RDS >> Mysql

Sequelize — pro pole DATE použijte časové razítko UNIX

Zatímco eggyal Odpověď je správný způsob, jak dělat věci v MySQL, někteří z nás mohou pracovat v prostředí nebo týmu, který vyžaduje použití unixového časového razítka místo datetime/timestamp.

Zjistil jsem, že skvělý způsob, jak toho dosáhnout, je použít háčky uvnitř sequelize. Do spodní části každého z vašich modelů můžete přidat tento kód:

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

Tím se vloží createdAt a updatedAt pole jako unixová časová razítka.



  1. Výhody NoSQL databází – Vše, co potřebujete vědět

  2. SQLSTATE[HY000] [2002] Pokus o připojení se nezdařil.. - Při pokusu o připojení z místního ke vzdálenému serveru

  3. Jak vypočítat klouzavý průměr v Redshift

  4. Vložení databáze php nefunguje podle plánu