Projekt

Obecné

Profil

Stáhnout (827 Bajtů) Statistiky
| Větev: | Tag: | Revize:
1
import os
2
import sqlite3
3
from pathlib import Path
4

    
5
from src.constants import DATABASE_FILE_LOCATION, DB_DIR
6
from src.db.init_queries import SCHEMA_SQL, DEFAULT_VALUES_SQL
7
from src.utils.logger import Logger
8

    
9

    
10
def setup_database():
11
    Logger.debug(f"Database is setting.")
12

    
13
    try:
14
        # TODO improve creating DB dir
15
        if not os.path.exists(DB_DIR):
16
            os.makedirs("../../" + DB_DIR)
17

    
18
        # TODO improve creating DB file (now via FileAnchor)
19
        co = sqlite3.connect(DATABASE_FILE_LOCATION.shortest_relative_path())
20
        cu = co.cursor()
21
        cu.executescript(SCHEMA_SQL)
22
        cu.executescript(DEFAULT_VALUES_SQL)
23
    except sqlite3.Error as e:
24
        Logger.error(f"Unknown error during database setting.")
25
        raise e
26

    
27
    return co
28

    
29

    
30
if __name__ == '__main__':
31
    setup_database()
(3-3/3)