42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
"""
|
|
Project: Magic Tracker
|
|
Author: Edward Middleton-Smith
|
|
Shuffle & Skirmish
|
|
|
|
Technology: Helpers
|
|
Feature: MySQL Database Helper
|
|
|
|
Notes: This architecture does not work with Flask-SQLAlchemy - db connection must be initialised with Flask app initialisation
|
|
"""
|
|
|
|
# internal
|
|
|
|
# external
|
|
from pydantic import BaseModel, ConfigDict
|
|
from flask import Flask, render_template, jsonify, request, render_template_string, send_from_directory, redirect, url_for, session
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
import uuid
|
|
|
|
class Helper_DB_SQL(BaseModel):
|
|
app: Flask
|
|
|
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
|
|
|
def __init__(self, app):
|
|
super().__init__(app=app)
|
|
# self.app = app
|
|
|
|
def get_db_connection(self):
|
|
db = SQLAlchemy()
|
|
db.init_app(self.app)
|
|
with self.app.app_context():
|
|
db.create_all()
|
|
db.engine.url = self.app.config['SQLALCHEMY_DATABASE_URI']
|
|
return db
|
|
|
|
@staticmethod
|
|
def create_guid_str():
|
|
return str(uuid.uuid4())
|
|
@staticmethod
|
|
def create_guid():
|
|
return str(uuid.uuid4()) |