我如何重置 Superset 的数据库?

How do I reset Superset's db?

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

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

superset db downgrade <migration-id>

在那之前的迁移。

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

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

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

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

删除 ~/.superset 中的 superset.db 应该就足够了,这是重新开始的更干净的方法。但请注意,SQLLite 不是推荐的元数据数据库引擎,将来应该完全删除它的支持。

我还建议使用 Apache Superset

上为 testing/developing 提供的 docker-compose

我认为你不需要重新安装所有东西。只需删除 ~/.superset/superset.db 文件并在删除之前备份此文件,以防万一您想要恢复它。然后 运行 下面的命令。这些命令将创建另一个数据库文件。

初始化数据库

超集数据库升级

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

$ 导出 FLASK_APP=超集 超集工厂 create-admin

加载一些数据来玩

超集load_examples

创建默认角色和权限

超集初始化