SQLAlchemy 无法将时间戳插入 MSSQL

SQLAlchemy fails to insert timestamp into MSSQL

sqlalchemy.exc.IntegrityError: (pyodbc.IntegrityError) ('23000', '[23000] [FreeTDS][SQL Server]Cannot insert an explicit value into a timestamp column. Use INSERT with a column list to exclude the timestamp column, or insert a D EFAULT into the timestamp column. (273) (SQLExecDirectW)') [SQL: 'INSERT INTO task_events (task_id, event_name, ts) OUTP UT inserted.id VALUES (?, ?, ?)'] [parameters: (54, 'RUNNING', datetime.datetime(2017, 1, 16, 18, 5, 55, 595066))]

错误似乎与此有关:

You can't insert explicit values into a timestamp column. Timestamp values are unique binary numbers that are automatically generated.

SQLAlchemy 不知道吗?是否有一些 key\setting 让 SQLAlchemy 知道现在插入 timestamps?

This 好像是处理SQLAlchemy的luigi代码。

ps。这里的问题是 luigi 使用的是 SQLAlchemy,我不想修改 luigi 的代码,但是如果你能在 luigi 方面提出一个简单的解决方案,那也可以。

所以,多亏了@LaugingVergil 和@HaleemurAli 这些优秀的绅士,我刚刚决定向我的 dockerfile 添加另一个 sed hack...

我只是在 CMD /usr/bin/luigid

之前 RUN sed -i 's/TIMESTAMP/DateTime/g' /usr/lib/python3.4/site-packages/luigi/db_task_history.py