我的模型看起来像
class Category(UserMixin, db.Model):
__tablename__ = 'categories'
uuid = Column('uuid', GUID(), default=uuid.uuid4, primary_key=True,
unique=True)
name = Column('name', String, nullable=False)
parent = Column('parent', String, nullable=False)
created_on = Column('created_on', sa.types.DateTime(timezone=True),
default=datetime.utcnow())
__table_args__ = (UniqueConstraint('name', 'parent'),)
def __init__(self, name, parent):
self.name = name
self.parent = parent
def __repr__(self):
return '<Category:%s:%s:%s>' % (
self.uuid, self.name, self.category_type)
Run Code Online (Sandbox Code Playgroud)
其中GUID是自定义sqlalchemy类型我使用alembic --autogenerate选项创建表
op.create_table('categories',
sa.Column('uuid', UUID(), nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('parent', sa.String(), nullable=False),
sa.Column('created_on', sa.DateTime(timezone=True),
nullable=True),
sa.PrimaryKeyConstraint('uuid'),
sa.UniqueConstraint('name', 'parent'),
sa.UniqueConstraint('uuid')
)
Run Code Online (Sandbox Code Playgroud)
和PostgreSQL表一样
Table "public.categories"
Column …Run Code Online (Sandbox Code Playgroud)