Вставки SQLAlchemy не отражены в удаленной базе данных - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь вставить запись в таблицу mysql в удаленной базе данных.Питон работает (без ошибок), но ни одна из моих вставок не отражена в удаленной базе данных.Кажется, что SQLAlchemy поддерживает кеш и обновляет его, но не загружает его.Я даже сбросил таблицу на сервере, и SQLAlchemy продолжает верить, что она существует.

Я не использую Session или иным образом фиксирую транзакцию, хотя когда я повторяю операторы, кажется, что происходит фиксация.

Поддерживает ли SQLAlchemy какой-то тип кэша?

from sqlalchemy import MetaData
from sqlalchemy import Table
from sqlalchemy import create_engine

db_engine2 = create_engine('mysql+mysqldb://user:pass@host/product_analytics', echo=True)
meta = MetaData(db_engine2)

xlations_topic_update_status = Table('product_analytics.xlations_topic_update_status', meta, autoload=True)
xlations_topic_update_status.insert().execute({'topic_name':'test','topic_id':'test2'}, autocommit=True)

print(xlations_topic_update_status.select().execute().fetchall())

Ниже приводится то, что я вижу даже после Я сбросил таблицу на сервере: enter image description here

1 Ответ

0 голосов
/ 31 января 2019

Разобрался ...

Table('product_analytics.xlations_topic_update_status', meta, autoload=True) тихо создал таблицу в базе данных product_analytics с именем "product_analytics.xlations_topic_update_status".Вместо использования таблицы "xlations_topic_update_status"

Извлеченный урок: не включайте имя базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...