Fix error in model.

The two channel ids need to be NULL by default, don't know them on object creation.
This commit is contained in:
2025-03-03 23:32:03 -05:00
parent f6ae34c9e6
commit 9cf05f44d0
2 changed files with 18 additions and 14 deletions
+12 -12
View File
@@ -1,9 +1,9 @@
import os
from dotenv import load_dotenv
from sqlmodel import Session, create_engine, select
from sqlmodel import Session, SQLModel, create_engine, select
from models import Guild
from models import CategoryGroup, Guild
load_dotenv()
@@ -12,19 +12,19 @@ SQL_HOST = os.getenv("SQL_HOST", "")
SQL_PASS = os.getenv("SQL_PASS", "")
SQL_USER = os.getenv("SQL_USER", "")
# url = "sqlite:///database.db"
url = f"mysql+pymysql://{SQL_USER}:{SQL_PASS}@{SQL_HOST}/{SQL_DB}"
url = "sqlite:///database.db"
# url = f"mysql+pymysql://{SQL_USER}:{SQL_PASS}@{SQL_HOST}/{SQL_DB}"
engine = create_engine(url)
# SQLModel.metadata.create_all(engine)
SQLModel.metadata.create_all(engine)
with Session(engine) as session:
# guild = Guild(id=1, name="test guild", submission_channel=1, verification_channel=2)
# session.add(guild)
# group1 = CategoryGroup(name="group1", channel_id=1, guild_id=1, message_id=1)
# group2 = CategoryGroup(name="group2", channel_id=2, guild_id=1, message_id=2)
# session.add(group1)
# session.add(group2)
# session.commit()
guild = Guild(id=1, name="test guild")
session.add(guild)
group1 = CategoryGroup(name="group1", channel_id=1, guild_id=1, message_id=1)
group2 = CategoryGroup(name="group2", channel_id=2, guild_id=1, message_id=2)
session.add(group1)
session.add(group2)
session.commit()
# anotherone = Guild(id=2, name="test guild 2", submission_channel=1, verification_channel=2)
# session.add(anotherone)
+6 -2
View File
@@ -22,8 +22,12 @@ class Guild(SQLModel, table=True):
id: int = Field(sa_column=Column("GuildId", BIGINT(unsigned=True), primary_key=True, nullable=False))
name: str = Field(sa_column=Column("GuildName", VARCHAR), max_length=95)
# deprecated, not currently used.
submission_channel: int = Field(sa_column=Column("SubmissionChannel", BIGINT(unsigned=True)))
verification_channel: int = Field(sa_column=Column("VerificationChannel", BIGINT(unsigned=True)))
submission_channel: int | None = Field(
sa_column=Column("SubmissionChannel", BIGINT(unsigned=True), nullable=True), default=None
)
verification_channel: int | None = Field(
sa_column=Column("VerificationChannel", BIGINT(unsigned=True), nullable=True), default=None
)
active: bool = Field(sa_column=Column("Active", BOOLEAN), default=True)
category_groups: list["CategoryGroup"] = Relationship(back_populates="guild", cascade_delete=True)