create a db
This commit is contained in:
60
db_connection.py
Executable file
60
db_connection.py
Executable file
@ -0,0 +1,60 @@
|
||||
#!/usr/bin/python3
|
||||
import sqlite3
|
||||
import logging as log
|
||||
|
||||
database = "bbbbs.sqlite"
|
||||
log.basicConfig(level=log.INFO, encoding="utf-8") # set level to log.DEBUG when debugging
|
||||
|
||||
try:
|
||||
sqliteConnection = sqlite3.connect(database)
|
||||
cursor = sqliteConnection.cursor()
|
||||
|
||||
cursor.execute('select sqlite_version();')
|
||||
log.debug("Sqlite version is %s" % cursor.fetchall())
|
||||
log.info("connected to %s" % database)
|
||||
except sqlite3.Error as error:
|
||||
log.critical('Error occured: ', error)
|
||||
|
||||
|
||||
def create_transmissions_table():
|
||||
# timeslots is stored as a 10 bit number with each bit representing a specific timeslot.
|
||||
scheme = """
|
||||
CREATE TABLE IF NOT EXISTS transmissions (
|
||||
date TEXT NOT NULL,
|
||||
author TEXT NOT NULL,
|
||||
title TEXT NOT NULL,
|
||||
tranmission_text TEXT NOT NULL,
|
||||
timeslots INT NOT NULL,
|
||||
transmission_order INT NOT NULL,
|
||||
play BOOLEAN NOT NULL
|
||||
);
|
||||
"""
|
||||
if cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='transmissions';").fetchall() == []:
|
||||
try:
|
||||
cursor.execute(scheme)
|
||||
log.info("Successfully created database transmissions")
|
||||
except sqlite3.Error as error:
|
||||
log.critical("Couldn't create transmissions table: ", error)
|
||||
exit(1)
|
||||
else:
|
||||
log.debug('DB transmissions exists, not creating.')
|
||||
|
||||
def create_timeslots_table():
|
||||
scheme = """
|
||||
CREATE TABLE IF NOT EXISTS timeslots (
|
||||
timeslot INT NOT NULL,
|
||||
time TEXT NOT NULL,
|
||||
active BOOLEAN NOT NULL
|
||||
);
|
||||
"""
|
||||
if cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='timeslots';").fetchall() == []:
|
||||
try:
|
||||
cursor.execute(scheme)
|
||||
log.info("Successfully created database transmissions")
|
||||
except sqlite3.Error as error:
|
||||
log.critical("Couldn't create timeslots table: ", error)
|
||||
exit(1)
|
||||
|
||||
create_transmissions_table()
|
||||
create_timeslots_table()
|
||||
sqliteConnection.close()
|
Reference in New Issue
Block a user