mirror of
https://github.com/gryf/slack-backup.git
synced 2025-12-17 11:30:25 +01:00
Added db module
This commit is contained in:
34
slack_backup/db.py
Normal file
34
slack_backup/db.py
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
"""
|
||||||
|
Common db functions
|
||||||
|
"""
|
||||||
|
from sqlalchemy import MetaData, create_engine
|
||||||
|
from sqlalchemy.orm import sessionmaker
|
||||||
|
from sqlalchemy.ext.declarative import declarative_base
|
||||||
|
|
||||||
|
|
||||||
|
# Prepare SQLAlchemy objects
|
||||||
|
Meta = MetaData()
|
||||||
|
Base = declarative_base(metadata=Meta)
|
||||||
|
Session = sessionmaker()
|
||||||
|
DbFilename = None
|
||||||
|
|
||||||
|
|
||||||
|
def connect(filename=None):
|
||||||
|
"""
|
||||||
|
create engine and bind to Meta object.
|
||||||
|
Arguments:
|
||||||
|
@filename - string with absolute or relative path to sqlite database
|
||||||
|
file. If None, db in-memory will be created
|
||||||
|
"""
|
||||||
|
global DbFilename
|
||||||
|
|
||||||
|
if not filename:
|
||||||
|
filename = ':memory:'
|
||||||
|
|
||||||
|
DbFilename = filename
|
||||||
|
|
||||||
|
connect_string = "sqlite:///%s" % filename
|
||||||
|
engine = create_engine(connect_string)
|
||||||
|
Meta.bind = engine
|
||||||
|
Meta.create_all(checkfirst=True)
|
||||||
|
return engine
|
||||||
Reference in New Issue
Block a user