diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..baa36ac --- /dev/null +++ b/models/__init__.py @@ -0,0 +1,5 @@ +from .base import Base + +from .user import User + +__all__ = ["Base", "User"] \ No newline at end of file diff --git a/models/base.py b/models/base.py new file mode 100644 index 0000000..edb84ad --- /dev/null +++ b/models/base.py @@ -0,0 +1,7 @@ +import uuid +from sqlalchemy.orm import declarative_base + +Base = declarative_base() + +def gen_uuid() -> str: + return str(uuid.uuid4()) \ No newline at end of file diff --git a/models.py b/models/user.py similarity index 62% rename from models.py rename to models/user.py index 61de8e9..e3331fe 100644 --- a/models.py +++ b/models/user.py @@ -1,25 +1,19 @@ -from sqlalchemy import Column, String, DateTime -from sqlalchemy.orm import declarative_base +from sqlalchemy import Column, DateTime, String from sqlalchemy.sql import func -import uuid - -Base = declarative_base() - - -def gen_uuid(): - return str(uuid.uuid4()) +from .base import Base, gen_uuid class User(Base): __tablename__ = "users" id = Column(String, primary_key=True, default=gen_uuid) - # Google 信息 google_id = Column(String, unique=True, index=True) email = Column(String, unique=True, index=True) name = Column(String) avatar = Column(String) - # 元信息 - created_at = Column(DateTime(timezone=True), server_default=func.now()) \ No newline at end of file + created_at = Column(DateTime(timezone=True), server_default=func.now()) + + def __repr__(self): + return f"" \ No newline at end of file