SQLAlchemy:create_engine() PostGIS 语法错误

SQLAlchemy: create_engine() syntax error with PostGIS

目前我正在尝试使用 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",但它没有用。我该如何修复这个语法错误?

糟糕,我在前一行漏掉了一个括号。确保你的括号在 post 之前像 () 一样关闭哈哈。