Move sql data classes into database setup directory

Edit docker file to install sqlite3.
This commit is contained in:
2024-10-05 14:50:50 -04:00
parent 48967675e2
commit e85c6fe628
18 changed files with 42 additions and 27 deletions
+7 -8
View File
@@ -1,19 +1,18 @@
FROM python:3.12.3-slim
# install dependencies for mysqlclient
# RUN apt-get update && apt-get -y upgrade && apt-get -y install python3-dev default-libmysqlclient-dev build-essential
RUN apt-get update && apt-get -y upgrade && apt-get -y install sqlite3
WORKDIR /home
COPY classes classes/
COPY cogs cogs/
COPY utilities utilities/
COPY main.py main.py
COPY pyproject.toml pyproject.toml
COPY classes classes/
COPY cogs cogs/
COPY database_setup database_setup/
COPY utilities utilities/
RUN pip install --upgrade pip && pip install poetry && poetry export -f requirements.txt --output requirements.txt && pip install -r requirements.txt
# remove build deps that aren't needed to run
# RUN apt-get -y remove python3-dev build-essential && apt-get -y autoremove
CMD ["python3", "./main.py"]
+1 -1
View File
@@ -9,7 +9,7 @@ from sqlalchemy import select
from sqlalchemy.orm import Session
# pylint: disable=import-error
from utilities.sql_data_classes import Category, CategoryGroup, engine
from database_setup.sql_data_classes import Category, CategoryGroup, engine
class SubmissionState(Enum):
+1 -1
View File
@@ -9,7 +9,7 @@ from sqlalchemy.orm import Session
# pylint: disable=import-error
from cogs.submission.submission_views import SubmissionCreateButton
from utilities.sql_data_classes import Category, CategoryGroup, engine
from database_setup.sql_data_classes import Category, CategoryGroup, engine
from utilities.utils import MAX_LINE_LENGTH, autofill_groups, send_highscore_message
+1 -1
View File
@@ -8,7 +8,7 @@ from sqlalchemy import distinct, select
from sqlalchemy.orm import Session
# pylint: disable=import-error
from utilities.sql_data_classes import Category, CategoryGroup, Score, engine
from database_setup.sql_data_classes import Category, CategoryGroup, Score, engine
from utilities.utils import (
autofill_categories,
autofill_groups,
+1 -1
View File
@@ -9,7 +9,7 @@ from sqlalchemy.orm import Session
# pylint: disable=import-error
from cogs.submission.submission_views import SubmissionCreateButton
from utilities.sql_data_classes import CategoryGroup, engine
from database_setup.sql_data_classes import CategoryGroup, engine
from utilities.utils import autofill_groups, send_highscore_message
+1 -1
View File
@@ -8,7 +8,7 @@ from sqlalchemy import select
from sqlalchemy.orm import Session
# pylint: disable=import-error
from utilities.sql_data_classes import CategoryGroup, Guild, engine
from database_setup.sql_data_classes import CategoryGroup, Guild, engine
from utilities.utils import MAX_LINE_LENGTH, autofill_groups
+1 -1
View File
@@ -8,7 +8,7 @@ from sqlalchemy import select
from sqlalchemy.orm import Session
# pylint: disable=import-error
from utilities.sql_data_classes import Guild, engine
from database_setup.sql_data_classes import Guild, engine
from utilities.utils import autofill_users_in_guild
from .views.update_username_verify import UpdateUsernameVerifyView
+1 -1
View File
@@ -9,7 +9,7 @@ from sqlalchemy import select
from sqlalchemy.orm import Session
# pylint: disable=import-error
from utilities.sql_data_classes import Category, CategoryGroup, Score, engine
from database_setup.sql_data_classes import Category, CategoryGroup, Score, engine
from utilities.utils import MAX_LINE_LENGTH, autofill_categories, autofill_groups, format_score_string
+1 -1
View File
@@ -7,7 +7,7 @@ from sqlalchemy import delete, select
from sqlalchemy.orm import Session
# pylint: disable=import-error
from utilities.sql_data_classes import Category, CategoryGroup, engine
from database_setup.sql_data_classes import Category, CategoryGroup, engine
from utilities.utils import send_highscore_message
@@ -5,7 +5,7 @@ from sqlalchemy import distinct, exc, select
from sqlalchemy.orm import Session
# pylint: disable=import-error
from utilities.sql_data_classes import Category, CategoryGroup, Score, engine
from database_setup.sql_data_classes import Category, CategoryGroup, Score, engine
from utilities.utils import send_highscore_message
+1 -1
View File
@@ -8,7 +8,7 @@ from sqlalchemy import select
from sqlalchemy.orm import Session
# pylint: disable=import-error
from utilities.sql_data_classes import Guild, engine
from database_setup.sql_data_classes import Guild, engine
class GuildListener(commands.Cog, name="Guild Listener"):
+1 -1
View File
@@ -7,7 +7,7 @@ from sqlalchemy import select
from sqlalchemy.orm import Session
# pylint: disable=import-error
from utilities.sql_data_classes import Guild, engine
from database_setup.sql_data_classes import Guild, engine
class GuildData(commands.Cog, name="Guild Data"):
+1 -1
View File
@@ -13,7 +13,7 @@ from sqlalchemy.orm import Session
# pylint: disable=import-error
from classes.submission import SubmissionState
from main import submission_objects
from utilities.sql_data_classes import Category, Guild, engine
from database_setup.sql_data_classes import Category, Guild, engine
class SubmissionListener(commands.Cog, name="Message Listener"):
+1 -1
View File
@@ -8,7 +8,7 @@ from sqlalchemy.orm import Session, aliased
# pylint: disable=import-error
from classes.submission import Submission, SubmissionState
from main import submission_objects
from utilities.sql_data_classes import Category, CategoryGroup, Guild, engine
from database_setup.sql_data_classes import Category, CategoryGroup, Guild, engine
from .verification_view import VerificationView
+13
View File
@@ -0,0 +1,13 @@
"""Small script to create the database if it doesn't already exist."""
import sqlite3
from pathlib import Path
if not Path("database/dakiny.db").exists():
with sqlite3.connect("database/dakiny.db") as con:
cur = con.cursor()
with Path("database_setup/database.sql", encoding="utf-8").open() as file:
database_script = file.read()
cur.executescript(database_script)
con.commit()
+7
View File
@@ -0,0 +1,7 @@
[tool.ruff]
# Extend the `pyproject.toml` file in the parent directory...
extend = "../pyproject.toml"
[tool.ruff.lint]
# ignore implicit-namespace-package in this directory.
ignore = ["INP001"]
@@ -1,11 +1,7 @@
"""
Simple file to set up the sqlalchemy connection to database.
"""
"""Simple file to set up the sqlalchemy connection to database."""
from sqlalchemy import create_engine
from sqlalchemy.ext.automap import automap_base
# pylint: disable=import-error
from utilities import config
# connect with sql alchemy and autoload schema
+1 -1
View File
@@ -11,7 +11,7 @@ from sqlalchemy import distinct, select
from sqlalchemy.orm import Session, aliased
# pylint: disable=import-error
from utilities.sql_data_classes import Category, CategoryGroup, Guild, Score, engine
from database_setup.sql_data_classes import Category, CategoryGroup, Guild, Score, engine
MAX_LINE_LENGTH = 142