From 407930726f21095c1b02b5f5974e4a20aa32b62e Mon Sep 17 00:00:00 2001 From: Nicolas Palacio Date: Mon, 27 May 2024 11:32:10 +0200 Subject: [PATCH] Added create DB function in Cache class --- cache_manager/_cache.py | 45 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/cache_manager/_cache.py b/cache_manager/_cache.py index d34d1ec..28ea519 100644 --- a/cache_manager/_cache.py +++ b/cache_manager/_cache.py @@ -1,18 +1,26 @@ -import sqlite3 import os +import sqlite3 + +__all__ = [ + 'Cache', +] class Cache: + """ + The Cache class. + """ def __init__(self, path: str): + """ + This is not empty. + """ self._set_path(path) - def __del__(self): - - self.con.close() + self.con.close() def _set_path(self, path: str): @@ -26,3 +34,32 @@ def _open_sqlite(self): self.con = sqlite3.connect(self.path) self.cur = self.con.cursor() + + def _create_schema(self): + + self._open_sqlite() + self.cur.execute(''' + CREATE TABLE IF NOT EXISTS + main ( + id INT PRIMARY KEY, + item_id VARCHAR, + version_id VARCHAR, + version INT, + status INT, + file_name VARCHAR, + label VARCHAR, + date DATE, + extension VARCHAR + ) + ''') + + for typ in ['varchar, int, date']: + self.cur.execute( + ''' + CREATE TABLE IF NOT EXISTS + attr_{} ( + version_id VARCHAR FOREIGN KEY, + value {} + ) + '''.format(typ, typ.upper()), + )