Archived
generated from imcompiling/discord-bot-template
Add database code. Starting with birthday table.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
"""Package for database interaction."""
|
||||
@@ -0,0 +1,11 @@
|
||||
"""Simple file to set up the sqlmodel connection to database."""
|
||||
|
||||
from sqlmodel import SQLModel, create_engine
|
||||
|
||||
from . import models # noqa: F401 - Need this import for creating the models.
|
||||
|
||||
url = "sqlite:///database.db"
|
||||
engine = create_engine(url)
|
||||
|
||||
# Don't need to create all when connected to prod.
|
||||
SQLModel.metadata.create_all(engine)
|
||||
@@ -0,0 +1,20 @@
|
||||
"""File holds all model definitions of SQL tables."""
|
||||
|
||||
from sqlalchemy.dialects.mysql import BIGINT, SMALLINT
|
||||
from sqlmodel import Column, Field, SQLModel
|
||||
|
||||
|
||||
class UserBirthday(SQLModel, table=True):
|
||||
"""
|
||||
Represents a user's birthday.
|
||||
|
||||
Attributes:
|
||||
user_id: The user's discord id. Primary key.
|
||||
month: The month the user was born.
|
||||
day: The day the user was born.
|
||||
|
||||
"""
|
||||
|
||||
user_id: int = Field(sa_column=Column(BIGINT(unsigned=True), primary_key=True, nullable=False))
|
||||
month: int = Field(sa_column=Column(SMALLINT(unsigned=True), nullable=False))
|
||||
day: int = Field(sa_column=Column(SMALLINT(unsigned=True), nullable=False))
|
||||
Reference in New Issue
Block a user