如何重置Superset的数据库?

问题描述

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

sqlalchemy error: dbs.perm not found

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

superset db downgrade <migration-id>

关于之前的迁移。

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

由于我正在自定义代码,因此我具有手动的dev安装。假设我在数据库中没有什么重要的东西,所以我不怕丢失表,用户,权限等。

我发现我在〜/ .superset中有一个superset.db,但是我认为删除该文件是不够的,对吧?

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

解决方法

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

我还建议使用提供的docker-compose在Apache Superset上进行测试/开发

,

我认为您不需要重新安装所有内容。只需删除〜/ .superset / superset.db文件并对该文件进行备份,然后再删除,以防万一您要还原它。然后运行以下命令。这些命令将创建另一个数据库文件。

初始化数据库

超级集数据库升级

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

$ export FLASK_APP =超集 超集工厂创建管理员

加载一些要播放的数据

superset load_examples

创建默认角色和权限

超集初始化

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...