def __init__(self,ConnectionString:str=None): if ConnectionString is not None: self.engine = create_engine(ConnectionString) self.engine = create_engine(DbConfig().getDbConnectionStr()) self.Session = sessionmaker(bind=engine) self.connection=Connection(engine) self.Base = declarative_base()
def __init__(self, *args): self.metadata = MetaData() self.library_item = Table('library_item', self.metadata, Column('id', Integer, primary_key=True), Column('title', String(256))) self.users = Table('users', self.metadata, Column('id', Integer, primary_key=True), Column('email', String(128)), Column('first_name', String(64)), Column('surname', String(64)), Column('employee_id', String(64))) self.copy = Table( 'copy', self.metadata, Column('id', Integer, primary_key=True), Column('asset_code', String, unique=True), Column('library_item_id', Integer, ForeignKey("library_item.id"), nullable=False), Column('shelf', String), Column('has_cd_disk', Boolean), Column('available_status', ChoiceType(BookStatus, impl=Integer()))) self.rental_log = Table( 'rental_log', self.metadata, Column('id', Integer, primary_key=True), Column('copy_id', Integer, ForeignKey("copy.id"), nullable=False), Column('user_id', Integer, ForeignKey("users.id"), nullable=False), Column('_borrow_time', DateTime), Column('_return_time', DateTime), Column('book_status', ChoiceType(BookStatus, impl=Integer())), Column('_reservation_begin', DateTime), Column('_reservation_end', DateTime)) self.engine = create_engine(*args) self.connection = Connection(self.engine)
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import create_engine from sqlalchemy.engine import Connection from sqlalchemy.exc import * from util.db.database_setting import DATABASE_SETTING import os.path Base = declarative_base() #dbpath = os.path.join(DATABASE_SETTING['path'], DATABASE_SETTING['dbname']) #conn_str = 'sqlite:///' + dbpath conn_str='mysql+mysqlconnector://root:123456@localhost:3306/test' engine = create_engine(conn_str) DbSession = sessionmaker(bind=engine) session = DbSession() conn = Connection(engine) def create_all_table(): Base.metadata.create_all(engine) def addRecord(tableObject): session.add(tableObject) result = '' try: session.commit() result = 'Success' except NoForeignKeysError as e: session.rollback() print(e) result = 'Fail' except DBAPIError as e:
def sqlalchemy_connection(self, db=None): plain_connection = self.connection(db=db) return Connection(self.engine(), connection=plain_connection)
from sqlalchemy.sql import func, desc from sqlalchemy.engine import Connection from sqlalchemy.sql.expression import join # Graphing Imports import pandas as pd import matplotlib.pyplot as plt # Constants DB_CRED = os.getenv('DB_CRED', '') DB_PATH = os.getenv('DB_PATH', '') DB_FULL_PATH = 'postgres://{cred}{path}'.format(cred=DB_CRED, path=DB_PATH) # Create engine, connection & metadata object. engine = create_engine(DB_FULL_PATH, echo=True) connection = Connection(engine).connect() metadata = MetaData() # Print tables. print(engine.table_names()) # Reflect all of the tables. time = Table('time', metadata, autoload=True, autoload_with=engine) host = Table('host', metadata, autoload=True, autoload_with=engine) account = Table('account', metadata, autoload=True, autoload_with=engine) host_time = Table('host_time', metadata, autoload=True, autoload_with=engine) # Print each tables columns. print('Print out each table columns:') print('time table: {columns}'.format(columns=time.columns)) print('host table: {columns}'.format(columns=host.columns))