Пакет содержит хелперы для пакета SQLAlchmy - методов insert, upsert, update и другое.
Инициализация: db = DB(db_name, Base, use_os_env=False, echo=False). Где:
use_os_env. ЗначениеTrueозначает брать определения для подключения к базе данных из переменных окружения хоста:os.environ['DB_USER'], os.environ['DB_PASSWORD'], os.environ['DB_HOST']. При значенииFalseпеременные user, password, host берутся из файлаcfg.py, который должен быть создан в каталоге скрипта.
Методы:
insert_many,upsertи другие
Свойства:
engine- подключение к базе данныхname- имя базы данныхbase: DeclarativeMetaSession: sessionmaker- фабрика сессийsession: Session- инициализированная сессия
Определяем модель таблицы в файле db_model.py:
from sqlalchemy import Column, Integer, String, Date, ForeignKey
from sqlalchemy.dialects.mysql import TINYINT, SMALLINT, INTEGER, ENUM, FLOAT
from sqlalchemy.schema import Index
from sqlalchemy.orm import declarative_base
Base = declarative_base()
db_name = 'some_database'
class ATable(Base):
__tablename__ = 'A_table'
id = Column(INTEGER(unsigned=True), primary_key=True, autoincrement=True)
name = Column(String(100), nullable=False)Основной файл:
from sqlalchemy_query_helpers import DB
from db_model import db_name, Base, ATable
db = DB(db_name, Base)
values_from_database = db.session.query(ATable).all()
# Settings of database
host = '100.100.100.100'
user = 'root'
password = 'qwerty'