我有以下型号:
class GeoLocation(Base):
__tablename__ = "geolocations"
id = Column(SmallInteger, primary_key=True)
name = Column(String(8), nullable=False)
coordinates = Column(String(80), nullable=False)
使用SQLAlchemy 0.9.8和postgresql 9.3.6生成正确的create语句:
CREATE TABLE geolocations (
id SMALLSERIAL NOT NULL,
name VARCHAR(8) NOT NULL,
coordinates VARCHAR(80) NOT NULL,
PRIMARY KEY (id)
)
在另一台机器上,相同的SQLAlchemy版本,但是没有postgresql 9.1.13,生成:
CREATE TABLE geolocations (
id SMALLINT NOT NULL,
name VARCHAR(8) NOT NULL,
coordinates VARCHAR(80) NOT NULL,
PRIMARY KEY (id)
)
任何指针?
答案 0 :(得分:0)
似乎支持smallserial数据类型的差异。这不适用于postgres 9.1.13: http://www.postgresql.org/docs/9.1/static/datatype-numeric.html