migrate from supabase to postgres

This commit is contained in:
2025-09-09 16:01:58 +07:00
parent a836ebb2a6
commit aa62667d89
21 changed files with 327 additions and 902 deletions
+4 -4
View File
@@ -1,9 +1,9 @@
from models.home_debt import DiscordHomeDebt
from models.currency import DiscordCurrency
from models.home_debt import HomeDebt
from models.score import Score
from models.noi_tu import DiscordNoiTu
__all__ = [
'DiscordHomeDebt',
'DiscordCurrency',
'HomeDebt',
'Score',
'DiscordNoiTu'
]
-26
View File
@@ -1,26 +0,0 @@
from dataclasses import dataclass
from datetime import datetime
from typing import Optional
@dataclass
class DiscordCurrency:
id: Optional[int]
user_id: int
user_name: str
balance: int
updated_at: datetime
def __str__(self):
return f"ID: {self.id}, User ID: {self.user_id}, Balance: {self.balance}, Updated At: {self.updated_at}"
def __repr__(self):
return self.__str__()
def to_dict(self):
return {
"id": self.id,
"user_id": self.user_id,
"user_name": self.user_name,
"balance": self.balance,
"updated_at": self.updated_at
}
+8 -10
View File
@@ -1,14 +1,12 @@
from dataclasses import dataclass
from datetime import datetime
from typing import Optional
from sqlalchemy import Column, Integer, BigInteger
from infra.db.base import Base, TimestampMixin
@dataclass
class DiscordHomeDebt:
id: Optional[int]
user_id: int
value: int
created_at: datetime
updated_at: datetime
class HomeDebt(Base, TimestampMixin):
__tablename__ = "home_debt"
id = Column(Integer, primary_key=True, autoincrement=True)
user_id = Column(BigInteger, nullable=False, unique=True)
value = Column(Integer, nullable=False, default=0)
def __str__(self):
return f"ID: {self.id}, User ID: {self.user_id}, Value: {self.value}, Created At: {self.created_at}, Updated At: {self.updated_at}"
+8 -9
View File
@@ -1,19 +1,18 @@
from pydantic import BaseModel
from datetime import datetime
from typing import Optional
import json
from sqlalchemy import Column, Integer, String
from infra.db.base import Base
class DiscordNoiTu(BaseModel):
id: Optional[int] = None
word: str
meaning: Optional[str] = None
class DiscordNoiTu(Base):
__tablename__ = "dictionary_vietnamese_two_words"
id = Column(Integer, primary_key=True, autoincrement=True)
word = Column(String(255), nullable=False, unique=True)
def to_dict(self):
return {
'id': self.id,
'word': self.word,
'meaning': self.meaning,
}
def to_json(self):
import json
return json.dumps(self.to_dict())
+24
View File
@@ -0,0 +1,24 @@
from sqlalchemy import Column, Integer, BigInteger, String
from infra.db.base import Base
class Score(Base):
__tablename__ = "score"
id = Column(Integer, primary_key=True, autoincrement=True)
user_id = Column(BigInteger, nullable=False, unique=True)
user_name = Column(String(255), nullable=True)
point = Column(Integer, nullable=False, default=0)
def __str__(self):
return f"ID: {self.id}, User ID: {self.user_id}, User Name: {self.user_name}, point: {self.point}"
def __repr__(self):
return self.__str__()
def to_dict(self):
return {
"id": self.id,
"user_id": self.user_id,
"user_name": self.user_name,
"point": self.point
}