SQLAlchemy不会为主键字段生成序列

时间:2015-02-21 16:04:36

标签: postgresql sqlalchemy

我有以下型号:

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)
)

任何指针?

1 个答案:

答案 0 :(得分:0)

似乎支持smallserial数据类型的差异。这不适用于postgres 9.1.13: http://www.postgresql.org/docs/9.1/static/datatype-numeric.html