Sqlalchemy Integer Column Size

I saw somewhere that you can determine the column size for Integer columns (e.g. Integer (20), Integer (10), etc.), but for some reason it seems that sqlalchemy ignores these sizes in the create query table, which it produces through create_all ():

class Job(Base): __tablename__ = "t_job" id = Column(Integer(20), Sequence('%s_id_seq' % __tablename__), primary_key=True, nullable=False) name = Column(String(30)) company_id = Column(Integer(20), ForeignKey("t_company.id", ondelete="CASCADE"), nullable=False) 

It produces the following query:

 CREATE TABLE t_job ( id INTEGER NOT NULL AUTO_INCREMENT, name VARCHAR(30), company_id INTEGER NOT NULL, PRIMARY KEY (id), FOREIGN KEY(company_id) REFERENCES t_company (id) ON DELETE CASCADE ) 

If this is not the right way to do this, what is it?

+6
source share
1 answer

This feature was deprecated in version 7 .

If you are using MySQL, you can use the mysql.INTEGER data mysql.INTEGER :

 from sqlalchemy.dialects import mysql class Job(Base): __tablename__ = "t_job" id = Column(mysql.INTEGER(20), Sequence('%s_id_seq' % __tablename__), primary_key=True, nullable=False) name = Column(String(30)) company_id = Column(Integer(20), ForeignKey("t_company.id", ondelete="CASCADE"), nullable=False) 
+6
source

All Articles