首页 > 解决方案 > 如何重置 Superset 的数据库?

问题描述

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

sqlalchemy 错误:找不到 dbs.perm

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

superset db downgrade <migration-id>

关于在那之前的迁移。

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

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

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

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

标签: sqlitesqlalchemyapache-supersetsuperset

解决方案


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

初始化数据库

超集数据库升级

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

$ export FLASK_APP=superset superset fab create-admin

加载一些数据来玩

超集 load_examples

创建默认角色和权限

超集初始化


推荐阅读