Mi rendo conto che questo è un thread vecchio, ma ci sono imbattuto con lo stesso problema e non sono riuscito a trovare una soluzione da nessun'altra parte.
Dopo alcuni esperimenti sono stato in grado di risolverlo con il seguente codice:
TABLE_ID = Sequence('table_id_seq', start=1000)
class Table(Base):
__tablename__ = 'table'
id = Column(Integer, TABLE_ID, primary_key=True, server_default=TABLE_ID.next_value())
In questo modo la sequenza viene creata e utilizzata come valore predefinito per la colonna id
, con lo stesso comportamento come se fosse creato implicitamente da SQLAlchemy.