sequelize / sequelize/sequelize

How to manually set updatedAt / createdAt

Open
#3,759 66 comments 24 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

existing workaround status: understood
Dominant language
TypeScript
Stars
30.4k
Forks
4.3k
Avg merge
1d 6h
Merged PRs (30d)
68

Description

I'm working on some tests and I need to manually set the updatedAt attribute. However, it always gets updated to the current date. For example, the following code does not override the updatedAt attribute, as I expected it to:

instance.updateAttributes({
  updatedAt: moment.utc().subtract(31, 'minutes').toDate()
}, {
  silent: true
});

Am I missing something related to the proper use of silent?

I'm running on v2.1.3.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the behavior through instance.updateAttributes with the updatedAt attribute and silent option described in the issue, using the reported Sequelize v2.1.3 context. Trace how updatedAt is assigned during the update and determine what behavior should allow a manually supplied timestamp to persist.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.