started new database implementation, the old one was way to bad
This commit is contained in:
parent
ded2f7b529
commit
0744cc8606
37
src/music_kraken/database/new_database.py
Normal file
37
src/music_kraken/database/new_database.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import sqlite3
|
||||||
|
import os
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logger = logging.getLogger("database")
|
||||||
|
|
||||||
|
|
||||||
|
class Database:
|
||||||
|
def __init__(self, structure_file: str, database_file: str):
|
||||||
|
self.structure_file: str = structure_file
|
||||||
|
self.database_file: str = database_file
|
||||||
|
|
||||||
|
self.connection = sqlite3.connect(self.database_file)
|
||||||
|
self.cursor = self.connection.cursor()
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
"""
|
||||||
|
Deletes all Data from the database if it exists
|
||||||
|
and resets the schema defined in self.structure_file
|
||||||
|
"""
|
||||||
|
logger.info(f"resetting the database \"{self.__name__}\"")
|
||||||
|
|
||||||
|
# deleting the database
|
||||||
|
del self.connection
|
||||||
|
del self.cursor
|
||||||
|
os.remove(self.database_file)
|
||||||
|
|
||||||
|
# newly creating the database
|
||||||
|
self.connection = sqlite3.connect(self.database_file)
|
||||||
|
self.cursor = self.connection.cursor()
|
||||||
|
with open(self.structure_file, "r") as structure_file_obj:
|
||||||
|
query = structure_file_obj.read()
|
||||||
|
|
||||||
|
# fill the database with the schematic
|
||||||
|
self.cursor.executescript(query)
|
||||||
|
self.connection.commit()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user