27 lines
772 B
Python
27 lines
772 B
Python
|
|
from sqlalchemy import create_engine
|
||
|
|
from sqlalchemy.sql import sqltypes
|
||
|
|
from sqlalchemy.orm import declarative_base, sessionmaker
|
||
|
|
from enum import Enum
|
||
|
|
|
||
|
|
class Db:
|
||
|
|
class DataTypes(Enum):
|
||
|
|
Integer = sqltypes.Integer
|
||
|
|
Float = sqltypes.Float
|
||
|
|
Boolean = sqltypes.Boolean
|
||
|
|
Text = sqltypes.Text
|
||
|
|
Date = sqltypes.Date
|
||
|
|
Time = sqltypes.Time
|
||
|
|
DateTime = sqltypes.DateTime
|
||
|
|
String = sqltypes.String
|
||
|
|
|
||
|
|
def __init__(self, db, echo=False):
|
||
|
|
self.db = db
|
||
|
|
self.echo_output = echo
|
||
|
|
self.Engine = self.create_engine()
|
||
|
|
self.Model = declarative_base()
|
||
|
|
self.session = sessionmaker(bind=self.Engine)
|
||
|
|
|
||
|
|
def create_engine(self):
|
||
|
|
return create_engine(self.db, echo=self.echo_output)
|
||
|
|
|