Tag: sqlalchemy

Узнайте, что будет удалено

При использовании более сложных иерархических моделей с различными настройками о том, как обрабатываются каскадные удаления, довольно сложно заранее выяснить, что именно delete() будет делать именно с базой данных. Я не мог найти способ получить эту информацию (« Эй, SQLAlchemy, что будет удалено, если я удалю этот объект там? ») Из SQLAlchemy. Реализация этого сама по […]

Разделение бизнес-логики и модели

У меня есть этот вопрос, который беспокоил меня какое-то время. На первый взгляд это может показаться довольно простым вопросом, но, похоже, нет четкого ответа. Моя основа для запроса этого вопроса – проект Python, который использует PostgreSQL через SQLAlchemy, но конкретный язык и используемые инструменты не имеют большого значения. Основной вопрос заключается в том, где поставить […]

Python – SQLAlchemy – MySQL – несколько экземпляров работают с одинаковыми данными

У меня есть таблица в базе данных, сопоставленная с модулем ORM SQLAlchemy (у меня есть переменная scoped_session). Я хочу, чтобы несколько экземпляров моей программы (а не только потоки, также с нескольких нескольких серверов) могли работать в одной таблице и НЕ работают над одними и теми же данными. поэтому я закодировал ручной механизм «блокировки строк», чтобы […]

Решение временной боли в таблице SQLAlchemy?

Похоже, что самым большим недостатком SQLAlchemy является то, что при работе с временными таблицами требуется несколько шагов назад. Например, очень распространенный пример использования – создать временную таблицу, которая очень специфична для одной задачи, бросить в нее некоторые данные, а затем присоединиться к ней. Во-первых, объявление временной таблицы является подробным и ограниченным. Обратите внимание, что в […]

SQLAlchemy коррелирует обновление для нескольких столбцов

Я смог использовать коррелированную конструкцию обновления, показанную в документации, чтобы обновить один столбец в таблице. Например: sel = select([UpdateTable.column]).\ where(UpdateTable.id == OrigTable.id) up = update(OrigTable).values(column=sel) Что вызывает SQL: UPDATE origtable SET column=(SELECT updatetable.column FROM updatetable WHERE updatetable.id = origtable.id) Можно ли использовать Declaritive или Query Api для обновления нескольких столбцов для выбора? Я пытаюсь подражать […]

SQLAlchemy добавляет столбец с агрегатной функцией в список динамических загрузчиков (AppenderQuery)

Я получаю неправильный набор записей, добавляя в динамическую связь совокупную функцию func.sum . Я продемонстрировал пример кода ниже, чтобы продемонстрировать это. from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import ( relationship, scoped_session, sessionmaker, backref ) from sqlalchemy import ( create_engine, Table, Column, Integer, String, ForeignKey, func ) from zope.sqlalchemy import ZopeTransactionExtension import transaction Base = declarative_base() […]

Тесты интеграции Flask-SQLAlchemy не могут найти способ отката изменений

Я пытаюсь изучить стек флеш-технологий, и для моего приложения я использую Flask-SQLAlchemy. Все работает отлично, но я борюсь с написанием интеграционных тестов. Я не хочу использовать SQLite, так как на производстве я использую PostgreSQL, и ставить тонны макетов на самом деле больше проверяет мою собственную реализацию, а не сама логика. Итак, после некоторого исследования я […]

Как улучшить производительность SQLAlchemy?

Я сделал клиентское приложение, которое использует HTTP для связи с сервером Python 2 с помощью простого API. Сервер использует ORM SQLAlchemy достаточно широко, чтобы обслуживать данные для этих HTTP-запросов. Проблема в том, что использование моего процессора довольно велико даже при наличии нескольких активных клиентов. Этот сервер должен иметь возможность одновременно обслуживать несколько сотен клиентов примерно […]

Проверьте, соответствует ли результат миграции данных (ORM)? модели

Я использую migrate для создания схемы базы данных SQL и заполнения ее исходными данными. Позже SQLAlchemy используется для работы с этой БД. Как я могу проверить, что мои модели SQLAlchemy релевантны / правильны для реальной схемы БД, сгенерированной при migrate ?

Отношение «один ко многим» в factory_boy

Я использую SQLalchemy как свой ORM и пытаюсь перенести свои тестовые приборы на factory_boy. Моя схема включает в себя два объекта в соотношении «один ко многим». Т.е. экземпляры одной модели имеют список вроде структур с экземплярами другого. Пример: class Person(…): id = Column(Integer, primary_key=True) name = Column(Text) […] class Address(…): id = Column(Integer, primary_key=True) city […]

Python - лучший язык программирования в мире.