SQLAlchemy'de tanımlanan tüm tablolarım, UUID türünde bir kimlik sütununa sahiptir. UUIDtype
PostgreSQL UUID'si türü için özel bir sütun türüSQLAlchemy kullanarak PostgreSQL işlevine bir sütun varsayılanı nasıl ayarlanır?
from sqlalchemy.ext.declarative import declarative_base
from uuid import uuid4
Base = declarative_base()
class MyTable(Base):
id = Column(UUIDtype, default=uuid4, primary_key=True)
. Bu, PostgreSQL'de UUID sütununu başarıyla oluşturur, ancak SQLAlchemy kullanarak eklerken yalnızca varsayılan bir UUID değeri üretir. Bu, bazı kullanım durumlarım için iyi, ancak SQLAlchemy dışında bir insert oluşması durumunda, sütunların varsayılanlarını PostgreSQL tarafına atamak istiyorum.
sütun üzerinde SQL komutu yerleri aşağıdaki uygun varsayılan:
ALTER TABLE my_table ALTER COLUMN id SET DEFAULT uuid_generate_v4()
Ben SQLAlchemy modeli tanımı üzerinden sütun varsayılan olarak bu
uuid_generate_v4()
işlevi atayabilirsiniz nasıl
? Tek seçenek, ham bir SQL deyimini yürütmekse, bu ifadenin yürütmesini tablo oluşturma işlemine bağlamanın bir yolu var mı?
Teşekkür ederiz. Tam olarak ihtiyacım olan buydu. –
'uuid-ossp' modülünü' uuid-gspsp' – mozillazg
biçiminde oluşturun ya da 'uuid_generate_v4()' yerine 'gen_random_uuid() işlevini kullanın ve' pgcrypto' yerine 'create extension pgcrypto' yazın – mozillazg