运行Airflow命令行后,sqlite3引发错误

Den*_*sLi 0 sqlite airflow

当我运行命令:airflow list_users时,它引发了如下错误:

sqlite3.OperationalError: no such table: ab_permission_view_role

...

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: 
ab_permission_view_role [SQL: 'SELECT ab_permission_view_role.id AS 
ab_permission_view_role_id, ab_permission_view_role.permission_view_id AS ab_permission_view_role_permission_view_id, ab_permission_view_role.role_id AS 
ab_permission_view_role_role_id \nFROM ab_permission_view_role JOIN 
ab_permission_view ON ab_permission_view.id = 
ab_permission_view_role.permission_view_id JOIN ab_view_menu ON ab_view_menu.id = ab_permission_view.view_menu_id \nWHERE ab_permission_view_role.role_id = ? 
AND ab_permission_view.view_menu_id != ?'] [parameters: (4, 51)] (Background on 
this error at: http://sqlalche.me/e/e3q8)
Run Code Online (Sandbox Code Playgroud)

运行后也有相同的错误:airflow create_user

Xce*_*ons 8

除了 Newton Jose 的回答之外,在编辑 cfg 文件后,使用

airflow webserver
Run Code Online (Sandbox Code Playgroud)

然后打开另一个终端,切换到你的工作目录并运行

airflow initdb
Run Code Online (Sandbox Code Playgroud)

您现在可以启动调度程序

airflow scheduler
Run Code Online (Sandbox Code Playgroud)

最重要的是,当您运行用于初始化数据库的命令时,您的网络服务器应该正在运行。至少,这对我有用。


New*_*osé 5

发生这种情况是因为没有在创建ab_ *表airflow initdb。所有这些表都用于基于角色的访问控制– RBAC。

要具有这些表,请按照说明进行操作:

edit airflow.cfg

[webserver]
rbac = True
Run Code Online (Sandbox Code Playgroud)

并运行airflow initdb以创建这些丢失的表。

  • 你可以尝试 2.1.2 版本中的 `airflow db init` (2认同)