Refactor internal schema function api
This commit is contained in:
parent
704f2520ae
commit
92678ea6bf
1 changed files with 12 additions and 12 deletions
|
@ -1,7 +1,8 @@
|
|||
import sqlite3
|
||||
import sys
|
||||
|
||||
|
||||
def create_database(db_file: str) -> sqlite3.Connection:
|
||||
def create_database(db_file: str = ":memory:") -> sqlite3.Connection:
|
||||
"""create a database connection to the SQLite database
|
||||
specified by db_file
|
||||
:param db_file: database file
|
||||
|
@ -13,10 +14,10 @@ def create_database(db_file: str) -> sqlite3.Connection:
|
|||
return conn
|
||||
except sqlite3.Error as e:
|
||||
print(e)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def create_tables(db):
|
||||
c = db.cursor()
|
||||
def create_tables(c: sqlite3.Cursor):
|
||||
c.execute(
|
||||
""" CREATE TABLE IF NOT EXISTS Habits (
|
||||
id integer PRIMARY KEY AUTOINCREMENT,
|
||||
|
@ -49,8 +50,7 @@ def create_tables(db):
|
|||
)
|
||||
|
||||
|
||||
def create_constraints(db):
|
||||
c = db.cursor()
|
||||
def create_constraints(c: sqlite3.Cursor):
|
||||
c.execute(
|
||||
""" CREATE UNIQUE INDEX IF NOT EXISTS idx_repetitions_habit_timestamp
|
||||
on Repetitions( habit, timestamp);
|
||||
|
@ -58,15 +58,15 @@ def create_constraints(db):
|
|||
)
|
||||
|
||||
|
||||
def create_pragma(db):
|
||||
c = db.cursor()
|
||||
def create_pragma(c: sqlite3.Cursor):
|
||||
c.execute(""" PRAGMA user_version = 24; """)
|
||||
c.execute(""" PRAGMA schema_version = 30; """)
|
||||
|
||||
|
||||
def migrate(name):
|
||||
db = create_database(name)
|
||||
create_tables(db)
|
||||
create_constraints(db)
|
||||
create_pragma(db)
|
||||
def migrate(fname):
|
||||
db = create_database(fname)
|
||||
c = db.cursor()
|
||||
create_tables(c)
|
||||
create_constraints(c)
|
||||
create_pragma(c)
|
||||
return db
|
||||
|
|
Loading…
Reference in a new issue