我看到某处可以为整数列(例如Integer(20),Integer(10)等)定义列大小,但由于某些原因,sqlalchemy似乎忽略了create中的那些大小表查询它产生通过create_all():sqlalchemy整数列大小
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)
产生如下查询:
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
)
如果不是这样做一个适当的方式是什么?
另外在MySQL在整数大小是* *大多是毫无意义的。我只是使用Integer。请参阅http://alexander.kirk.at/2007/08/24/what-does-size-in-intsize-of-mysql-mean/ – 2013-05-16 07:48:06