Zdaję sobie sprawę, że to stary wątek, ale natknąłem się na ten sam problem i nie mogłem znaleźć rozwiązania nigdzie indziej.
Po kilku eksperymentach udało mi się rozwiązać ten problem za pomocą następującego kodu:
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())
W ten sposób sekwencja jest tworzona i jest używana jako wartość domyślna dla kolumny id
, z takim samym zachowaniem, jak gdyby został utworzony niejawnie przez SQLAlchemy.