Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I reset Superset's db?

I've been testing stuff out with Superset and I think I corrupted my superset db. When I try to acess any chart i get this error:

sqlalchemy error: dbs.perm not found

I found a workaround to this problem, by searching with ag - the silver searcher which individual migration dropped the dbs.perm table, and using the command

superset db downgrade <migration-id>

on the migration prior to that one.

It's still not very clear to me which steps I would take as to completely reset the db safely.

I have the manual, dev installation since I'm working on customizing the code. Let's say I didn't have anything too important in the db, so I'm not afraid to loose tables, users, perms, etc.

I've found I have a superset.db in ~/.superset, but I don't think deleting that will be enough, right?

How can I reset Superset's db so as to make a clean db and start over? Can I do this without losing my Superset installation, or do I need to start over completely? In any case, can you guide me through it?

like image 568
Karen Palacio Avatar asked Sep 18 '25 17:09

Karen Palacio


2 Answers

You need not to reinstall everything. Just remove the ~/.superset/superset.db file and take the backup of this file before removing it just in case you want to restore it. and then run the below commands. These commands will create another database file.

Initialize the database

superset db upgrade

Create an admin user (you will be prompted to set a username, and first and last name before setting a password)

$ export FLASK_APP=superset
$ superset fab create-admin

Load some data to play with

superset load_examples

Create default roles and permissions

superset init

like image 133
Piyush Singhal Avatar answered Sep 21 '25 08:09

Piyush Singhal


deleting superset.db in ~/.superset should be enough and it's the more clean way to start over. Yet note that SQLLite is not a recommended DB engine for metadata and it's support should be completely removed on the future.

I also recommend using the docker-compose provided for testing/developing on Apache Superset

like image 45
dpgaspar Avatar answered Sep 21 '25 07:09

dpgaspar