Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

createdAt & updatedAt columns #3055

Open
dickermoshe opened this issue Jun 19, 2024 · 4 comments
Open

createdAt & updatedAt columns #3055

dickermoshe opened this issue Jun 19, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@dickermoshe
Copy link
Collaborator

  • Boilerplate for a DateTime column that defaults to the currentDateTime.
  • A way to have a updatedAt column that gets updated on every save to the database
@dickermoshe dickermoshe added the enhancement New feature or request label Jun 19, 2024
@simolus3
Copy link
Owner

We can define these as mixins, which drift will consider if applied to a table, e.g

mixin DateColumns on Table {
  DateTimeColumn get createdAt => dateTime().default(currentDateAndTime)();
}

Dealing with updatedAt is more complicated of course, I usually advice using triggers but I'm not sure if something that invasive should be a simple thing to apply.

@im-trisha
Copy link

Well, I wanted to ignore this and just live with the fact that I couldn't have a simple updatedAt column but this was just a week ago so I may as well ask it

I'd honestly love having updatedAt/deletedAt as a simple-to-apply strategy, they are both really useful and a lot of ORMs implement them. Emphasis on the deletedAt though, as it was not mentioned in the original post

Thus being said, if I may be a little greedy, it'd be wonderful if, not only it'd be simple to apply, but also being able to soft delete a row with a simple boolean + the select doesn't count soft deleted (if not explicitely stated)

@dickermoshe
Copy link
Collaborator Author

deletedAt sounds like a really smart idea, but It's out of scope for an ORM, which Drift aims to be.
Even the Django ORM, which borders on being a "Data Framework", doesn't have such a feature.

I love the idea though. It's sick.

@im-trisha
Copy link

Yes i get what you're saying, I've "had" the idea from GORM, I didn't even need it but at that point that was just too cool to not use :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants