Tôi nhận ra đây là một chuỗi cũ, nhưng tôi đã vấp phải vấn đề tương tự và không thể tìm ra giải pháp ở bất kỳ nơi nào khác.
Sau một số thử nghiệm, tôi có thể giải quyết vấn đề này bằng đoạn mã sau:
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())
Bằng cách này, chuỗi được tạo và được sử dụng làm giá trị mặc định cho cột id
, với cùng một hành vi như thể được tạo ngầm bởi SQLAlchemy.