Revize 07a6c869
Přidáno uživatelem David Friesecký před téměř 4 roky(ů)
src/config/connection_provider.py | ||
---|---|---|
1 |
import os |
|
1 | 2 |
import sqlite3 |
2 | 3 |
from sqlite3 import Connection |
3 | 4 |
|
4 | 5 |
from injector import Module, provider, singleton |
5 | 6 |
|
6 | 7 |
from src.config.configuration import Configuration |
7 |
from src.db.init_queries import DEFAULT_VALUES_SQL |
|
8 |
from src.db.setup_database import SCHEMA_SQL |
|
8 |
from src.constants import DB_DIR |
|
9 |
from src.db.init_queries import DEFAULT_VALUES_SQL, CHECK_SCHEMA_SQL |
|
10 |
from src.db.setup_database import setup_database |
|
9 | 11 |
from src.utils.logger import Logger |
10 | 12 |
|
11 | 13 |
|
... | ... | |
26 | 28 |
Logger.debug(f"Creating a database connection [{configuration.connection_string}].") |
27 | 29 |
|
28 | 30 |
try: |
31 |
if not os.path.exists(DB_DIR): |
|
32 |
os.makedirs(DB_DIR) |
|
33 |
|
|
29 | 34 |
co = sqlite3.connect(database=configuration.connection_string, check_same_thread=False) |
30 | 35 |
cu = co.cursor() |
31 |
cu.executescript(SCHEMA_SQL) # TODO change setup_database not to drop tables if they exist
|
|
36 |
cu.executescript(CHECK_SCHEMA_SQL)
|
|
32 | 37 |
cu.executescript(DEFAULT_VALUES_SQL) |
33 | 38 |
except sqlite3.Error as e: |
34 | 39 |
Logger.error(f"Unknown error during database setting.") |
Také k dispozici: Unified diff
Re #8696 - Improved DB creation
- secured start application without lost data