Tag: sqlalchemy

Sqlite / SQLAlchemy: как применять внешние ключи?

Новая версия SQLite имеет возможность принудительно вводить ограничения внешнего ключа, но для обратной совместимости вам необходимо включить ее для каждого подключения к базе данных отдельно! sqlite> PRAGMA foreign_keys = ON; Я использую SQLAlchemy – как я могу убедиться, что это всегда включается? Я пробовал это: engine = sqlalchemy.create_engine('sqlite:///:memory:', echo=True) engine.execute('pragma foreign_keys=on') … но это не […]

Как найти свойства таблицы из объекта сопоставления SQLAlchemy

У меня есть класс, сопоставленный с таблицей, в моем случае декларативным образом, и я хочу «открыть» свойства таблицы, столбцы, имена и отношения из этого класса: engine = create_engine('sqlite:///' + databasePath, echo=True) # setting up root class for declarative declaration Base = declarative_base(bind=engine) class Ship(Base): __tablename__ = 'ships' id = Column(Integer, primary_key=True) name = Column(String(255)) def […]

Как отключить кеширование SQLAlchemy?

Я встречаю проблему с кешем, когда использую sqlalchemy . Я использую sqlalchemy вставить данные в базу данных mysql. У меня есть другой процесс приложения этих данных, а затем обновлять эти данные напрямую. Но моя sqlalchemy всегда получала старые данные, а не обновленные данные. Я думаю, sqlalchemy кэшировал мой запрос .. так .. Как отключить его?

Отладка (отображение) SQL-команды, отправленной в db SQLAlchemy

У меня есть класс ORM под названием Person, который обертывает вокруг таблицы человека: После настройки соединения с db и т. Д. Я запускаю инструкцию ff. people = session.query (Person) .all () Таблица лиц не содержит каких-либо данных (пока), поэтому, когда я печатаю переменную, я получаю пустой список. Я переименовал таблицу, указанную в моем классе ORM […]

Запись в базу данных MySQL с помощью pandas с использованием SQLAlchemy, to_sql

пытаясь написать pandas dataframe в таблицу MySQL, используя to_sql. Раньше использовался flavor = 'mysql', однако он будет обесцениваться в будущем и хотел бы начать переход к использованию механизма SQLAlchemy. образец кода: import pandas as pd import mysql.connector from sqlalchemy import create_engine engine = create_engine('mysql+mysqlconnector://[user]:[pass]@[host]:[port]/[schema]', echo=False) cnx = engine.raw_connection() data = pd.read_sql('SELECT * FROM sample_table', cnx) […]

Как получить исходный, скомпилированный SQL-запрос из выражения SQLAlchemy?

У меня есть объект запроса SQLAlchemy и вы хотите получить текст скомпилированного оператора SQL со всеми его параметрами (например, нет %s или других переменных, ожидающих, что они будут связаны компилятором оператора или модулем диалогов MySQLdb и т. Д.). Вызов str() в запросе показывает что-то вроде этого: SELECT id WHERE date_added <= %s AND date_added >= […]

Как я могу профилировать приложение с поддержкой SQLAlchemy?

Кто-нибудь имеет опыт профилирования приложения Python / SQLAlchemy? И какой лучший способ найти узкие места и недостатки дизайна? У нас есть приложение Python, где слой базы данных обрабатывается SQLAlchemy. Приложение использует пакетный дизайн, поэтому множество запросов к базе данных выполняется последовательно и в ограниченный промежуток времени. В настоящее время требуется слишком много времени для запуска, […]

встроенный в процессор SqlAlchemy итератор / генератор?

У меня есть таблица MySQL MySQL размером 10 МБ, с которой я взаимодействую с использованием SqlAlchemy. Я обнаружил, что запросы на большие подмножества этой таблицы будут потреблять слишком много памяти, хотя я думал, что использую встроенный генератор, который интеллектуально извлекал куски размера набора данных набора данных: for thing in session.query(Things): analyze(thing) Чтобы этого избежать, я […]

SQLAlchemy: В чем разница между flush () и commit ()?

Какая разница между flush() и commit() в SQLAlchemy? Я читал документы, но я не мудрее – они, похоже, понимают, чего у меня нет. Меня особенно интересует их влияние на использование памяти. Я загружаю некоторые данные в базу данных из серии файлов (всего около 5 миллионов строк), и моя сессия иногда падает – это большая база […]

Почему SQLAlchemy вставляет sqlite в 25 раз медленнее, чем использование sqlite3 напрямую?

Почему этот простой тестовый пример вставляет 100 000 строк в 25 раз медленнее с SQLAlchemy, чем напрямую использует драйвер sqlite3? Я видел подобные замедление в реальных приложениях. Я делаю что-то неправильно? #!/usr/bin/env python # Why is SQLAlchemy with SQLite so slow? # Output from this program: # SqlAlchemy: Total time for 100000 records 10.74 secs […]

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