Найти - Пользователи
Полная версия: SqlAlchemy и дубликаты первичных ключей
Начало » Базы данных » SqlAlchemy и дубликаты первичных ключей
1
uev31
Всех приветствую. Есть необходимость в работе с БД (mysql) посредством сабжа и нет полномочий менять структуру БД. В одной из таблиц первичные ключи дублируются по замыслу разработчика . Сгенерирована модель:

class OrderStatusChangelog(DeclarativeBase):
    __tablename__ = 'MC_order_status_changelog'
    __table_args__ = {}
    #column definitions
    orderID = Column(u'orderID', INTEGER(), server_default='true', nullable=False,primary_key=True)
    status_name = Column(u'status_name', VARCHAR(length=255),server_default='true', nullable=True)
    status_change_time = Column(u'status_change_time', DATETIME(),server_default='true', nullable=False)
    status_comment = Column(u'status_comment', TEXT(), server_default='true', nullable=False)
    #relation definitions
.

Сама структура выглядит так:

+——————–+————–+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+——————–+————–+——+—–+———+——-+
| orderID | int(11) | YES | | NULL | |
| status_name | varchar(255) | YES | | NULL | |
| status_change_time | datetime | YES | | NULL | |
| status_comment | text | YES | | NULL | |
+——————–+————–+——+—–+———+——-+

Выполняя код: self.session.query(OrderStatusChangelog).select_from(OrderStatusChangelog).all(),
я получаю записей меньше, чем из клиента к СУБД. Подскажите, как можно справиться с этой печалью. Очень хочется получать все сущности. За ранее благодарен.
ihor_ua
uev31
В одной из таблиц первичные ключи дублируются по замыслу разработчика .
Наркомания на самом деле, хотя может для Mysql это норма.

А чем сгенерирована модель?

Попробуй подключиться к существующей базе http://docs.sqlalchemy.org/en/latest/orm/extensions/automap.html
uev31
Модель генерировал sqlautocode. Ещё и допилить пришлось.
uev31
А вообще спасибо за отзыв. Слегка дезиформировал Вас в теме. У таблицы нет ключей… в модели указал в качестве первичного ключа другое поле (можно считать уникальным) и решил вопрос.
ihor_ua
uev31
sqlautocode
оно не обновляется с 2011 надо использовать
https://pypi.python.org/pypi/sqlacodegen
который вот недавно обновился.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB