mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-09-21 13:12:24 +00:00
Fix database engine UUID type compatibility (#241)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import sys
|
||||
from uuid import uuid4
|
||||
|
||||
from fastapi import Depends
|
||||
from sqlalchemy import URL
|
||||
@@ -53,3 +54,8 @@ async def create_table():
|
||||
"""创建数据库表"""
|
||||
async with async_engine.begin() as coon:
|
||||
await coon.run_sync(MappedBase.metadata.create_all)
|
||||
|
||||
|
||||
def uuid4_str() -> str:
|
||||
"""数据库引擎 UUID 类型兼容性解决方案"""
|
||||
return str(uuid4())
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from datetime import datetime
|
||||
from typing import Union
|
||||
from uuid import uuid4
|
||||
|
||||
from sqlalchemy import String, ForeignKey
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
from backend.app.database.db_mysql import uuid4_str
|
||||
from backend.app.models.base import id_key, Base
|
||||
from backend.app.models.sys_user_role import sys_user_role
|
||||
from backend.app.utils.timezone import timezone
|
||||
@@ -18,7 +18,7 @@ class User(Base):
|
||||
__tablename__ = 'sys_user'
|
||||
|
||||
id: Mapped[id_key] = mapped_column(init=False)
|
||||
uuid: Mapped[str] = mapped_column(String(50), init=False, default_factory=uuid4, unique=True)
|
||||
uuid: Mapped[str] = mapped_column(String(50), init=False, default_factory=uuid4_str, unique=True)
|
||||
username: Mapped[str] = mapped_column(String(20), unique=True, index=True, comment='用户名')
|
||||
nickname: Mapped[str] = mapped_column(String(20), unique=True, comment='昵称')
|
||||
password: Mapped[str] = mapped_column(String(255), comment='密码')
|
||||
|
||||
Reference in New Issue
Block a user