Tuesday, November 22, 2022

Re: Need to Replace django default I'd with UUID field

why?

use uuid for public resource access, and internal int/bigint for primary keys.  that works well with the index structure and doesn't leak sequential information out by URLs.

in other words, a resource is accessed via `somesite.com/some-resource/<a-uuid>

internally, you do a lookup like 

SomeModel.objects.filter(uuid = <request_uuid, related_table__name = "some other thing").all()



On Tuesday, November 22, 2022 at 4:48:10 PM UTC-5 sebasti...@gmail.com wrote:
When you use SQL System like Postgres and you have Version 13+ then you can use gen_random_uuid() to create a uuid. I would make it following: Delete all constraint that checks that id is int and also checks if foreignkey exists in related table.

I would create a Postgres Function with a cursor on your table. Then iterate over table get id. Create new uuid. If relation exists to another tables exists then you must first update relations table with new uuid and then update in original db.

This is my idea but i dont have such a function. This you must write self. But this isn't too much complex.

Good luck

Am Di., 22. Nov. 2022 um 19:55 Uhr schrieb Rajesh Kumar <rjcse...@gmail.com>:
Hi everyone!
Hope everyone is doing well...

Actually I have 100+ existing data in my database with default I'd field of django 
Now I need to replace that default I'd to UUID.

How I can do  this without loosing any records of my database.

If anyone can give me suggestions that would be great.

Thanks
Rajesh Kumar 

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAKNDe%3D%3DEa0ZagzpZ-Y_bXKrCi3ZHdG_PNr5%3DgxeJCTbKdM_tdA%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/88569393-9a9b-4590-b008-313a663c385fn%40googlegroups.com.

No comments:

Post a Comment