Default значение UUID в миграции Alembic
Не получается задать автогенерацию UUID в БД PostgreSQL. Технологии: SqlAlchemy и Alembic, БД - PostgreSQL.
Моя ORM в SqlAlchemy:
class UserORM(Base):
__tablename__ = 'users'
uuid = Column(UUID(as_uuid=True), primary_key=True, default=get_uuid4())
name = Column(VARCHAR(64), nullable=False)
email = Column(VARCHAR(256), nullable=False)
password = Column(VARCHAR(64), nullable=False)
Код миграции:
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('users',
sa.Column('uuid', postgresql.UUID(as_uuid=True), nullable=False),
sa.Column('name', sa.VARCHAR(length=64), nullable=False),
sa.Column('email', sa.VARCHAR(length=256), nullable=False),
sa.Column('password', sa.VARCHAR(length=64), nullable=False),
sa.Column('status', sa.Enum('active', 'blocked', name='userstatus'), nullable=False),
sa.Column('role', sa.Enum('admin', 'data_labeler', 'viewer', name='userrole'), nullable=False),
sa.PrimaryKeyConstraint('uuid')
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('users')
# ### end Alembic commands ###
По личным предубеждениям и подсказкам из stack overflow автогенерацию uuid задал через 'default=', но функция не генерируется в коде миграции Alembic.
Итак, как задать автогенерацию uuid в данном случае?