Как создать последовательность оракула с параметром "cache", установленным в "No cache", используя sqlalchemy orm - PullRequest
1 голос
/ 01 октября 2019

Python 3.7, Sqlalchemy 1.3.6, Oracle 12c.

Как создать последовательность в Oracle, используя Sqlalchemy ORM с параметром CACHE, установленным в «NO CACHE».

Например, естькласс таблицы, подготовленный мной (arg ??? может быть целым числом):

class Tests(BazaModel):
    _ _tablename_ _ = 'testtbl'
    testtbl_id = Column(Integer, Sequence('testseq', cache=???), primary_key=True)
    name = Column(String(51))

Я нашел информацию, что после sqlalchemy ver. 1.1.12 есть возможность вызывать конструктор с кэшем arg, см. пример ниже:

__init__(name, start=None, increment=None, minvalue=None, maxvalue=None, nominvalue=None, nomaxvalue=None, cycle=None, schema=None, cache=None, order=None, optional=False, quote=None, metadata=None, quote_schema=None, for_update=False).
- cache

необязательное целочисленное значение;количество будущих значений в последовательности, которые рассчитываются заранее. Отображает ключевое слово CACHE, понятное Oracle и PostgreSQL. "

Но аргумент" cache "принимает значения: None, целое число больше 1, и ни одно из них, конечно, не дает того, что я хочу.

Atв этот момент я не хочу явно вызывать raw sql для базы данных, чтобы изменить настройки последовательности следующим образом:

CREATE SEQUENCE  "xxx_APP"."testseq"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE  NOORDER  NOCYCLE;

Я хочу сделать это с помощью Sqlalchemy ORM. Есть ли шанс сделать это?

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