Alembic迁移在Windows Server中的mssql中显示错误我该如何解决?

问题描述

我试图从迁移中的列中提取json对象。我收到此错误

__main__ ERROR (pyodbc.ProgrammingError) ('42000',"[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '>'

这是我的代码。我该如何解决?

def upgrade():
    op.execute("CREATE VIEW MESSAGE_VIEW AS SELECT "
               "event_messages.message_id,"
               "event_messages.event_id,"
               "event_messages.message,"
               "event_messages.message::json->'message' AS message_input "
               "FROM event_messages "
               "LEFT JOIN chatbot_events ON event_messages.event_id = chatbot_events.event_id;")

解决方法

您的代码不正确。

您不能在MSSQL中运行此命令。因为您的命令特定于PostgreSQL。

event_messages.message :: json->'message'AS message_input 是PostgreSQL中的JSON数据类型,MSSQL不支持。

正确的MSSQL语句是:

def upgrade():
    op.execute("CREATE VIEW MESSAGE_VIEW AS SELECT "
               "event_messages.message_id,"
               "event_messages.event_id,"
               "event_messages.message,"
               "event_messages.message AS message_input "
               "FROM event_messages "
               "LEFT JOIN chatbot_events ON event_messages.event_id = chatbot_events.event_id;")

有关更多信息,请阅读this

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...