Fix database engine UUID type compatibility (#241)

This commit is contained in:
Wu Clan
2023-11-22 18:54:29 +08:00
committed by GitHub
parent ba738e5989
commit 447667ccf6
2 changed files with 8 additions and 2 deletions
+6
View File
@@ -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 -2
View File
@@ -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='密码')