如何重置 Superset 的数据库?

Kar*_*cio 4 sqlite sqlalchemy apache-superset

我一直在用 Superset 测试东西,我想我损坏了我的 superset 数据库。当我尝试访问任何图表时,我收到此错误:

sqlalchemy 错误:找不到 dbs.perm

我找到了解决此问题的方法,方法是使用 ag - 银色搜索器进行搜索,其中单个迁移删除了 dbs.perm 表,并使用以下命令

superset db downgrade <migration-id>

关于在那之前的迁移。

我仍然不太清楚我将采取哪些步骤来安全地完全重置数据库。

我有手册,开发安装,因为我正在定制代码。假设我在数据库中没有任何太重要的东西,所以我不怕丢失表、用户、权限等。

我发现 ~/.superset 中有一个 superset.db,但我认为删除它还不够,对吧?

如何重置 Superset 的数据库以便创建一个干净的数据库并重新开始?我可以在不丢失 Superset 安装的情况下执行此操作,还是需要完全重新开始?无论如何,你能指导我完成它吗?

Piy*_*hal 6

您无需重新安装所有内容。只需删除 ~/.superset/superset.db 文件并在删除之前备份该文件,以防万一您想要恢复它。然后运行以下命令。这些命令将创建另一个数据库文件。

初始化数据库

superset db upgrade

创建管理员用户(在设置密码之前,系统将提示您设置用户名、名字和姓氏)

$ export FLASK_APP=superset
$ superset fab create-admin
Run Code Online (Sandbox Code Playgroud)

加载一些数据来玩

superset load_examples

创建默认角色和权限

superset init