pgadmin4定制工作后的反思

7260阅读 3评论2019-07-13 renxiao2003
分类:LINUX

前段时间,参加了阿里云MVP共创任务的PGAdmin4定制及汉化工作,昨天终于完成了验收。功能完成。今天将定制的代码及部署(操作)手册写完并提交给工作人员了。
由于当时接任务的时候PGAdmin还是4.6版本,开源软件更新就是快。到现在不到两个月时间,已经更新到4.10版本了。在提交完代码和手册的时候就在想,如果说新版本中我们变更的文件发生了变化怎么,如果直接采用同版本的文件替换方式,是否有一定的风险呢(我觉得肯定是有的)。思考了一段时间,针对我们对POLARDB新增加的Python源代码,采用直接拷贝到指定目录的方式没有问题,但对于在原有文件上的修改,是否可以采用bash脚本直接修改文件呢。下面采用Linux的bash脚本实现文件的变化。

点击(此处)折叠或打开

  1. #!/bin/bash
  2. echo abcd |sed 's/a/A/'>/dev/null
  3. if [ $? -ne 0 ]; then
  4. please install sed first
  5. exit 2
  6. fi
  7. echo -n "enter the pgadmin 4.6 install dir:"
  8. read homedir
  9. echo $homedir
  10. if [ ! -d $homedir ]; then
  11. echo $homedir not exists.
  12. exit 1
  13. fi
  14. grep "polardb" $homedir/web/config.py>/dev/null
  15. if [ $? -eq 0 ]; then
  16. echo polardb had installed.
  17. else
  18. sed -i '/"gpdb": "",/a \ "polardb": ""' $homedir/web/config.py
  19. fi
  20. echo config.py install finished!

ed工具是否安装,还有一种方式是使用which sed来检测。
然后由用户指定pgadmin4.6及以上版本的安装主目录。
最后通过sed命令完成在指定行后追加PLOARDB的配置。由于python是采用缩进来进行代码分层的。所以追加行要有4个空格(或者一个TAB键)。在/a命令后如果是TAB键一定要输入\\t(转义)。也可以采用一个\后面输入四个空格的方式来完成。(最开始没有使用\转义,结果不管输入多少个空格最后替换后都是行首无空格。
此脚本仅完成了一个文件内容的变更。关于追加文件由脚本完成拷贝,将资源文件po的追加及将po编译为mo的过程,暂时还没有实现。考虑中……
上一篇:在华为云ECS上使用Docker部署pgAdmin4
下一篇:第十五章:交互式界面(一)

文章评论