|
|
|
|
|
by pauloxnet
211 days ago
|
|
Thanks for the comment. In the article I actually show both approaches: Python 3.14’s uuid.uuid7() first, mostly for completeness, and then the recommended one where PostgreSQL 18 generates the UUIDv7 itself using the native uuidv7() function. The DB-side version is already the default path I suggest for anything beyond a simple local setup. Regarding the timestamp, a dedicated column generated by the database from uuid_extract_timestamp() can be very practical in Django. It is written at insert time by PostgreSQL, defined declaratively in the model with GeneratedField, and handled entirely by the ORM without relying on triggers. It also makes filtering, ordering or using the Django admin faster and simpler, since querying on a proper datetime field avoids extra annotations or computation on the UUID expression. If you have a reference for UUIDv7 support in MSSQL I’d really appreciate it, ideally from the official documentation. I’m also curious to know from which version it is available and whether the current Django MSSQL backend exposes it already. |
|
There isn’t any AFAIK. What I ran across was SQL that was meant to go into a trigger or something like that to generate a proper UUIDv7 as if MSSQL was creating one.
Hmmm… could have sworn it was featured here on HN, could have sworn I saw it within the last six months, could have sworn I bookmarked it for closer examination. Not finding it in my favourited stories here on HN, and I have even double-checked on Reddit and Lemmy - no bueno. Really frustrating me, because I love UUIDs for their resistance to the incrementing attacks that integer primary keys typically suffer from.
Edit: After a brief Google search this tickles my memory, but not entirely sure if it is the same code I remember looking at: https://github.com/osexpert/GuidPhantom/blob/main/Uuid_v7_v8...