SQLAlchemy:PostGIS

时间:2019-01-25 22:43:04

标签: python postgresql sqlalchemy postgis geoalchemy

当前,我正在尝试使用sqlalchemy创建一个postGIS数据库。我计划通过制作几个要上传的shapefile数据表来规范我的数据库。我的代码如下:

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, BigInteger, DateTime, MetaData
from geoalchemy2 import Geometry

Base = declarative_base()

class meta_link(Base):
    __tablename__ = 'META_LINK'
    ID = Column(BigInteger, primary_key = True)
    FARM = Column(String)
    FIELD = Column(String)
    YEAR = Column(Integer)
    CROP = Column(String)
    TYPE = Column(String)
    TIMESTAMP = Column(DateTime, default=datetime.datetime.utcnow)

我还插入了其他一些表,但是使它们与上面列出的表完全相同。目前,我正在尝试通过执行以下操作创建表:

engine = create_engine('postgresql://myusername:mypassword@localhost:5432/my databasename')

metadata = MetaData()

metadata.create_all(bind=engine)

当我尝试运行python脚本时,出现以下错误:

  File "./app.py", line 83
    engine = create_engine('postgresql://postgres:postgresql@localhost:5432/ammar_DIFM_database')
         ^
SyntaxError: invalid syntax

我目前正在尝试发现我的错误,但似乎无法弄清楚。我还尝试在create_engine语句的末尾添加“ echo = true”,但是它不起作用。如何解决此语法错误?

1 个答案:

答案 0 :(得分:0)

糟糕,我错过了前一行的括号。在发布哈哈之前,请确保您的括号与()一样闭合。