On Wed, Aug 5, 2020, at 8:59 AM, Zsolt Ero wrote: > Hi, > > I've split a table into two tables, for performance reasons. I'd like to > insert into both tables using the same sequence. I'm inserting using > executemany_mode='values'. > > My idea is to call nextval() on the sequence before insert and fill in the > values client side, before inserting. > > select nextval('mysql') FROM generate_series(1,...) > > Everything looks good, except for the default behaviour of SQLAlchemy to turn > an integer + pk column into a SERIAL.
add autoincrement=False to the Column > > As an alternative I'm also looking at using Sequence('myseq') from > https://docs.sqlalchemy.org/en/13/dialects/postgresql.html#sequences-serial-identity, > but this is broken for issuing "CREATE SEQUENCE myseq" before the table > creation, which is missing the IF NOT EXISTS part. there's a "checkfirst" flag on Sequence.create() or Table.create() that will check for the object ahead of time, using a separate query. To render "IF NOT EXISTS" then just invoke the SQL: conn.execute(text("CREATE SEQ IF NOT EXISTS ...")) > > How can I either: > - turn off the automatic behaviour of making a pg + int = serial? > - add a IF NOT EXISTS to the Sequence()? > > Or any alternative ideas? > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/7860f5ab-64a4-481d-8e72-9b40d2ab2527o%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/7860f5ab-64a4-481d-8e72-9b40d2ab2527o%40googlegroups.com?utm_medium=email&utm_source=footer>. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/74ad0d47-328f-4c3b-9afd-9425f72942f2%40www.fastmail.com.