Django kullanım sırasında id alanlarını normal sayı yerine UUID ile değiştirmek istediğinizde SQLite üzerinde herhangi bir hata ile karşılaşmazsınız ama iş PostgreSQL kullanmaya gelince ortalık itinayla karışacaktır. Özellikle daha önceden bu alanlarda id
kullanıyorsanız. Daha sonra değiştirmeye kalktığınızda haliyle aşağıdaki hata sizi karşılayacak.
Aşağıdaki hata karşınıza çıkması muhtemel
django.db.utils.ProgrammingError: cannot cast type integer to uuid
LINE 1: ...BLE "news_news" ALTER COLUMN "id" TYPE uuid USING "id"::uuid
Çözüm olarak ise aşağıdaki adımları uygulayınız.
ALTER TABLE news_news ALTER COLUMN id DROP DEFAULT;
CREATE EXTENSION "uuid-ossp";
ALTER TABLE news_news ALTER COLUMN id SET DATA TYPE UUID USING uuid_generate_v4();
Sorun çözüldü, migrations dosyanızı yeniden oluşturmanız gerektiğini belirteyim, yukarıdaki hata tip çevirimlerinden kaynaklanmaktadır.