Python sqlite3在本地成功,但在Github Action上失败

时间:2020-07-22 13:01:03

标签: python sqlite github-actions

相同的python版本,相同的sqlite3版本和相同的文件,但是我无法通过Github Action。

这是我的github动作: https://github.com/CloudAurora/Blog/blob/master/.github/workflows/main.yml

和我的python文件:https://github.com/CloudAurora/Blog/blob/master/scripts/init_database.py

我可以在本地linux计算机上成功运行此文件:

Projects/Blog - [master●] » python scripts/init_database.py -r ./posts --token  xxx
sqlite version 2.6.0
INSERT_USER_STATEMENT 
    INSERT INTO User(bio, email, githubId, name)
    VALUES(?,?,?,?)
    ON CONFLICT(name) DO NOTHING

INSERT_USER_STATEMENT 
    INSERT INTO User(bio, email, githubId, name)
    VALUES(?,?,?,?)
    ON CONFLICT(name) DO NOTHING

Create db file in: ./prisma/dev.db, and env is set

但是,当我将其推送到github时,它将在Github Action中失败:

 sqlite version 2.6.0
INSERT_USER_STATEMENT 
    INSERT INTO User(bio, email, githubId, name)
    VALUES(?,?,?,?)
    ON CONFLICT(name) DO NOTHING

Traceback (most recent call last):
  File "scripts/init_database.py", line 110, in <module>
    c.execute(INSERT_USER_STATEMENT, author_info)
sqlite3.OperationalError: near "ON": syntax error
##[error]Process completed with exit code 1.

您可以找到完整的日志:https://github.com/CloudAurora/Blog/runs/899163805?check_suite_focus=true

1 个答案:

答案 0 :(得分:1)

为我解决类似 SQLite 问题的是在我的 YAML 工作流程中,替换了

runs-on: ubuntu-latest 

runs-on: ubuntu-20.04

ubuntu-latest 使用 Ubuntu 18.04 并且 SQLite 版本似乎很旧并且有问题。