Skip to content

vladiscripts/sqlalchemy_query_helpers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Пакет содержит хелперы для пакета 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: DeclarativeMeta
  • Session: 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()

Пример cfg.py

# Settings of database
host = '100.100.100.100'
user = 'root'
password = 'qwerty'

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages