Setting SQLAlchemy autoincrement start value

auto-increment, python, sqlalchemy

Solution

You can achieve this by using `DDLEvents`. This will allow you to run additional SQL statements just after the `CREATE TABLE` ran. Look at the examples in the link, but I am guessing your code will look similar to below:

from sqlalchemy import event
from sqlalchemy import DDL
event.listen(
    Article.__table__,
    "after_create",
    DDL("ALTER TABLE %(table)s AUTO_INCREMENT = 1001;")
)

Problem

The `autoincrement` argument in SQLAlchemy seems to be only `True` and `False`, but I want to set the pre-defined value `aid = 1001`, the via autoincrement `aid = 1002` when the next insert is done. In SQL, can be changed like: ``` ALTER TABLE article AUTO_INCREMENT = 1001; ``` I'm using `MySQL` and I have tried following, but it doesn't work: ``` from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Article(Base): __tablename__ = 'article' aid = Column(INTEGER(unsigned=True, zerofill=True), autoincrement=1001, primary_key=True) ``` So, how can I get that? Thanks in advance!

Original source

Related problems