Airflow 数据库-SQL Server连接
我有一个关于将后端连接从SQLite更改为SQL Server的问题。为Airflow 数据库-SQL Server连接,airflow,Airflow,我有一个关于将后端连接从SQLite更改为SQL Server的问题。为sql\u alchemy\u conn传入正确的连接字符串后,我运行以下命令:initdb。我得到以下错误: sqlalchemy.exc.ProgrammingError:(pyodbc.ProgrammingError)('42000',“[42000][Microsoft][ODBC Driver 13 for SQL Server][SQL Server]一个表只能有一个时间戳列。由于表'task\u resche
sql\u alchemy\u conn
传入正确的连接字符串后,我运行以下命令:initdb
。我得到以下错误:
sqlalchemy.exc.ProgrammingError:(pyodbc.ProgrammingError)('42000',“[42000][Microsoft][ODBC Driver 13 for SQL Server][SQL Server]一个表只能有一个时间戳列。由于表'task\u reschedule'已经有一个时间戳列,因此无法添加列'start\u date'。(2738)(SQLExecDirectW)][SQL:'\n创建表task\u reschedule(\n\tid INTEGER NOT NULL IDENTITY(1,1),\n\t任务id VARCHAR(250)NOT NULL,\n\t任务id VARCHAR(250)NOT NULL,\n\t执行日期时间戳NOT NULL,\n\ttry数字整数NOT NULL,\n\t开始日期时间戳NOT NULL,\n\t开始日期时间戳NOT NULL,\n\t持续时间整数NOT NULL,\n\t计划日期时间戳NOT NULL,\n\t主键(id),\n\t约束任务\u重新调度\u dag\u任务日期\u fkey外键(任务id、dag\u id、执行日期)引用任务实例(任务id、dag\u id、执行日期)\n\n'](此错误的背景信息位于:)
这对我来说很有用:
在文件中:0a2a5b66e19d\u添加\u任务\u重新安排\u表格.py
添加以下内容:
def mysql_datetime():
return mysql.DATETIME(timezone=True)
并替换具有timestamp()
的任何行,例如:
sa.Column('execution\u date',timestamp(),nullable=False,server\u default=None),
为此:
sa.Column('execution\u date',mysql\u datetime(),nullable=False,server\u default=None),
一旦我做了这个更改,上面的错误就消失了,但我不确定是否还有其他意外的后果。如果是这样,我将在这里更新,或者干脆使用MySQL数据库。因为它只是为了记录日志,所以我最终决定切换到本地MySQL数据库。