Comment mettre à jour avec Sequelize avec 'NOW()' sur un timestamp?
Je suis en train de faire quelque chose comme ce qui suit:
model.updateAttributes({syncedAt: 'NOW()'});
Évidemment, cela ne fonctionne pas car il est juste passé comme une chaîne de caractères. Je veux éviter de passer d'un nœud construit timestamp, parce que plus tard je la compare à un autre " SUR la mise à JOUR CURRENT_TIMESTAMP champ et de la base de données et la source pourrait être en cours d'exécution des moments différents.
Est ma seule option pour juste faire une procédure de base de données et l'appeler?
Que diriez -
Je pouvais moment().format(), mais je voulais éviter plus tard en les comparant à une base de données de temps d'un côté client généré le temps.
Pourquoi ne pas vous permettre d'horodateurs, de sorte updatedAt sera mise à jour si vous appelez modèle.mise à jour({},{où:{my_primary_key:valeur}})
new Date().toString()
Je pouvais moment().format(), mais je voulais éviter plus tard en les comparant à une base de données de temps d'un côté client généré le temps.
Pourquoi ne pas vous permettre d'horodateurs, de sorte updatedAt sera mise à jour si vous appelez modèle.mise à jour({},{où:{my_primary_key:valeur}})
OriginalL'auteur Blaher | 2015-02-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
Sequelize.fn
à l'envelopper de façon appropriée:Ici un exemple de travail:
Qui produit
est sequelize.fn('NOW(6)') pris en charge pour le stockage des fractions de secondes/microsecondes? depuis Sequelize.DATE(6) type de données est maintenant pris en charge si nous utilisons mysql >= 5.6
OK: sequelize.fn('NOW', 6) est pris en charge pour le stockage des fractions de secondes/quelques microsecondes.
Notez que ceci définit l'instance syncedAt attribut
{fn: "NOW", args: []}
et pas le timestamp actuel (car cela est déterminé par la base de données).OriginalL'auteur srlm
Vaut la peine de mentionner (pour les personnes venant ici, via la recherche) que MAINTENANT() n'est pas standard et ne fonctionne pas sur SQL server - il ne faut pas le faire si vous vous souciez de la portabilité.
peut fonctionner mieux
OriginalL'auteur user2643726