将数据插入 CrateDb 时编译器状态错误

Compiler state error when inserting data to CrateDb

我正在尝试连接到 crateDB 并插入数据。尽管数据库迁移工作完美 - 它在尝试插入数据时显示以下错误

TypeError: _get_crud_params() missing 1 required positional argument: 'compile_state'

以下是我的代码:

engine = create_engine('crate://localhost:4200', echo=False)

class Devices(Base):
    __tablename__ = 'registereddevices'
    id = Column('id',Integer, primary_key=True)
    bunkId = Column('bunkId', String)
    deviceType = Column('deviceType', String)
    deviceName = Column('deviceName', String)

Base.metadata.create_all(bind=engine)
Session = sessionmaker(bind=engine)
session = Session()

try:
    device = Devices()
    device.id = 1
    device.bunkId = "sads"
    device.deviceType = "fdsfd"
    device.deviceName = "gdf"

    session.add(device)
    session.commit()
except exc.SQLAlchemyError as e:
    print(type(e))

您在使用 SQLA​​lchemy 1.4 吗?根据 Dialects 页面上的脚注,crate-python 目前仅与 SQLA​​lchemy 1.3 兼容。

如果您需要坚持使用 1.4,您也可以尝试使用常规的 PostgreSQL 驱动程序,因为 CrateDB 的 SQL 方言与 PostgreSQL.[=12 广泛兼容=]