首页 > 其他分享 >【LuBase低代码框架】首次上线及后期迭代如何从测试环境升级到正式环境?

【LuBase低代码框架】首次上线及后期迭代如何从测试环境升级到正式环境?

时间:2024-07-25 21:56:38浏览次数:8  
标签:dm 迭代 app LuBase 测试环境 where id select

        LuBase低代码框架采用了基于Json的配置+前端渲染引擎的模式,所以对应用的升级说白了就是对配置信息的升级。以下对LuBase低代码框架中,一个应用包含的配置信息进行讲解,讲解完后,您就会明白如何在不同环境中升级一个应用。

        LuBass框架中一个应用包含如下5部分配置信息: 应用基本信息,数据模型信息,数据表单信息,页面配置信息,码表信息。

LuBase框架配置表分别如下:

1.应用基本信息
select * from ss_app where id='748248367707983872'  -- 需要手动修改前端预览地址
select * from dm_database where id in (select database_id from ss_app where id='748248367707983872') --需要手动修改数据库连接信息
  2. 数据模型信息
select * from    dm_table_type where app_id='748248367707983872'
select * from    dm_table where app_id='748248367707983872'
select * from dm_column where  table_id in(select id from    dm_table where app_id='748248367707983872')
select * from    dm_table_relation where app_id='748248367707983872'
select * from    dm_relate_update where  current_table_id  in(select id from    dm_table where app_id='748248367707983872')
3. 表单信息
select * from dm_custom_form where   app_id='1180592229635330048'
select * from dm_form_control where form_id in(select id from dm_custom_form  where   app_id='1180592229635330048')
select * from dm_form_filter where form_id in(select id from dm_custom_form where   app_id='1180592229635330048')
select * from dm_form_button where form_id in(select id from dm_custom_form where   app_id='1180592229635330048')
4. 页面配置信息
select * from    ss_page   where app_id='748248367707983872'
select * from ss_button where page_id in(select id from    ss_page   where app_id='748248367707983872' )
5. 码表信息
select * from    dm_code_type   where app_id='748248367707983872'
select * from dm_code where code_type_id in(select id from    dm_code_type   where app_id='748248367707983872' )

所以对于应用升级的一个策略我们建议如下:

一、对于应用首次升级

        通过导出配置sql脚本,然后在正式环境进行导入的方式进行

二、对于应用的运维迭代

        当然如果你喜欢通过sql脚本的导出导入也是可以的,但是我们建议通过界面的配置导出导入方式进行,因为这样可以避免 通过sql脚本导入导出 删除数据时的误操作。

        在后续的迭代中,只需要关注后4部分的配置信息,因为应用的基本信息中在首次创建后基本上不会再次发生变化。对于后4部分在系统的页面中提供了可视化的操作,如下图所示:

        数据模型的导入导入注意:在数据模型导入的时候会自动创建物理表信息

        

表单的导入导出:

页面配置的导入导出:

码表的导入导出:

        当然干过运维的可能会说,我功能的迭代是不同时间修改的,我怎么记得住我修改过哪里的配置呢?这是一个好问题,确实会记不住,所以我们还提供了一个页面用来查看某一时间段各个配置项变更的情况,如下所示:

可以在这个页面对需要升级的配置项进行导入,然后在正式环境进行升级。

 LuBase低代码系列文章:

【开发工具自荐】LuBase 低代码开发框架介绍-可私有化部署-CSDN博客

【LuBase低代码框架】表单引擎字段类型设计-CSDN博客

【LuBase低代码框架】私有化部署后如何扩展文件存储?-CSDN博客

入群交流

如果群二维码过期,请点击获取最新群二维码:LuBase私有化部署步骤&扫码入微信群 · Issue #I9U4LD · lubase/LuBase - Gitee.com 

LuBase代码开源地址:

LuBase: 这是LuBase低代码开发框架的后端项目源码,通过SpringBoot进行开发。#多应用#、#快速开发平台# 、#低代码框架#、#低代码工具# (gitee.com)

标签:dm,迭代,app,LuBase,测试环境,where,id,select
From: https://blog.csdn.net/Lubase/article/details/140618789

相关文章

  • 适用于 Python 的 Firebase-admin sdk 引发错误“StreamGenerator”不可迭代
    以前(一周前)我与Firestore通信的Python代码工作得很好。但今天我又开始研究它,它在迭代collection.stream()service_account=credentials.Certificate('credential/serviceAccount.json')firebase_admin.initialize_app(service_account)firestore_d......
  • 设计模式总结:适配器、桥接、组合和迭代器模式
    在之前的对话中,我们讨论了五种常见的Java设计模式:单例、工厂、策略、装饰器和观察者模式。现在,让我们继续探索其他四种设计模式:适配器、桥接、组合和迭代器模式。适配器模式概念:适配器模式是一种结构型设计模式,用于将一个类的接口转换为另一个类期望的接口。适配器模式......
  • 如何在迭代列表时从列表中删除元素而不跳过未来的迭代
    在Python中,我注意到如果我用forxiny迭代列表,并且在循环中删除y的元素,最后一个元素将被“跳过”-我假设这是因为len(y)已更改。我正在尝试获取具有特定扩展名的所有文件,但满足某些条件的文件除外。这是原始代码:deftest_print_numTXTs(......
  • 如何迭代 DataFrame 的行?
    我有这段代码:df=pd.DataFrame(data,columns=['Name','New_addy','PHONE1','PHONE2','EMAIL'])defQuestioningMech(df):forxindf:print(df[x])所以我试图迭代DataFrame,但此代码迭代列。我该如何迭代行?有几种方法可以迭代......
  • Python Match Case:检查未知长度的可迭代内部的类型
    我想使用匹配大小写检查一个未知长度的迭代(假设为list)仅包含给定类型(假设为float)(还有其他情况,只有这个给我带来了问题)。case[*elems]ifall([isinstance(elem,float)foreleminelems]):returnnum这个似乎可行,但确实很不Pythony。看来应该有更简单的方法。......
  • 图近似的迭代
    下面的代码运行一个基于微分方程组解生成的图形的模型,并显示了在点上添加了随机5%误差的模型。我将如何迭代这个过程(比如100次)并收集每个随机图生成的数据?看来我每次都必须创建新模型,这是不可行的。importnumpyasnpimportmatplotlib.pyplotaspltfromscipyimport......
  • 《STL源码剖析》---迭代器章节读书笔记
    迭代器(Iterator)STL的核心思想是:将数据容器和算法分开,彼此独立设计,最后再用一贴胶着剂将它们撮合在一起。以find()​算法为例:template<classInputIterator,classT>InputIteratorfind( InputIteratorfirst, InputIteratorlast, constT&value);{ while(first!=la......
  • C++之迭代器
    1.什么是迭代器?2.如何使用迭代器3.C++迭代器说明4.迭代器的高级应用4.1.Enumerator.hpp4.2.Iterator.cpp4.3.输出结果4.4.更多详细代码1.什么是迭代器?迭代器(Iterator)是按照一定的顺序对一个或多个容器中的元素从前往遍历的一种机制,比如for循环就是一种最......
  • 稀疏迭代求解器无矩阵方法预处理器
    如何为无矩阵左侧的稀疏迭代方法(TFQMR、GMRES、CGS等)定义预处理器(SPILU、SPAI等)?我使用无矩阵A(使用LinearOperator和matvec)定义了Ax=b。因此,我没有创建矩阵A并将其保存在内存中。例如,在这种情况下,我如何构建SPILU预处理器?我在所有教程和示例中看到预处理器是使用矩阵L......
  • 如何迭代网格?
    我正在尝试解决一个编程问题,我有一个管道网格,我必须找出哪些管道从源头正确连接到目的地。我附上了网格的图片。[管道系统][1]我想创建网格并对其进行迭代。我使用pandas读取文本文件,然后将代表x和y值的列转换为列表。pipes=pd.read_csv("D:\pipe.txt",delimi......