01.1-将老版本的superset升级迁移

0.24 升级至 0.28 现有已经进行简单开发的superset0.24 版本(添加了一些Echartst图表),需要将其升级至0.28版本,想要将旧版本保留的同时,把新加的图表迁移至新版本
0. 使用Linux系统进行开发 Ubuntu 16.04+ 推荐使用deeplinux 1. 使用Python3.6 Python3.6 对现有的superset版本支持最好。不建议使用 3.7
2. 下载superset 0.28.1 解压 可以直接在浏览器下载zip 也可以使用命令行

# 下载 wget https://github.com/apache/incubator-superset/archive/0.28.1.tar.gz # 解压 tar -zxvf 0.28.1.tar.gz

3. 创建沙盒,在superset根目录下(有setup.py的目录下) 4. 安装运行库(前后端)
# assuming $SUPERSET_HOME as the root of the repo # $SUPERSET_HOME 是一个变量,代表 superset 根目录 # 开启沙盒环境 source $SUPERSET_HOME/venv/bin/activate cd $SUPERSET_HOME/superset/assets yarn yarn run build cd $SUPERSET_HOME python setup.py install

5. 初始化数据库 于现有需求需要保留旧版本,但superset不同版本的数据库位置相同,为了将其分离,可以在config.py中指定数据库位置,或更换其他的数据库。在这里我将0.28版本的数据库更换为Postgresql postgresql的安装方法可见我写的另一篇文档,有较为基础的记录。
初始化超级用户,需要在沙盒bin/fabmanager文件夹中也更改数据库链接
注:使用Postgresql数据库需要先pip install sqlalchemy对应的链接库
# 开启沙盒环境 # 初始化超级用户 fabmanager create-admin --app superset # 初始化数据库和应用 superset/bin/superset db upgrade superset/bin/superset init

6. 用 pycharm 调试项目 用 pycharm加载路径 SUPERSET_HOME/superset/assets ,配置好后运行即可
疑问 【01.1-将老版本的superset升级迁移】第六步中的中环境变量添加后运行报错,但老师添加后则无问题
更改数据后,现有的图表加载失败提示找不到列,但此列是存在的,对新数据库的支持并不是很好。
迁移过来的图表,在进行配置图表渲染图表时抱错,提示dict 是不支持的类型

    推荐阅读