内容简介:Dataway介绍 Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具。使得使用者无需开发任何代码就配置一个满足需求的接口。 整个接口配置、测试、冒烟、发布。一站式都通过 Dataway 提供的 UI 界面...
Dataway介绍
Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具。使得使用者无需开发任何代码就配置一个满足需求的接口。 整个接口配置、测试、冒烟、发布。一站式都通过 Dataway 提供的 UI 界面完成。UI 会以 Jar 包方式提供并集成到应用中并和应用共享同一个 http 端口,应用无需单独为 Dataway 开辟新的管理端口。
这种内嵌集成方式模式的优点是,可以使得大部分老项目都可以在无侵入的情况下直接应用 Dataway。进而改进老项目的迭代效率,大大减少企业项目研发成本。
Dataway 工具化的提供 DataQL 配置能力。这种研发模式的变革使得,相当多的需求开发场景只需要配置即可完成交付。 从而避免了从数据存取到前端接口之间的一系列开发任务,例如:Mapper、BO、VO、DO、DAO、Service、Controller 统统不在需要。
新增
- 【Issue】https://gitee.com/zycgit/hasor/issues/I1M93Z 支持多条 SQL 语句同时执行。
- 新增 FRAGMENT_SQL_MULTIPLE_QUERIES hint,这个 hint 可以处理多条 SQL 同时执行时结果的保留策略。
- 新增 LookupConnectionListener SPI 功效和 LookupDataSourceListener 类似只不过是进一步到 Connection。
- 新增 FxSqlCheckChainSpi 扩展点可以用于执行 @@sql 时对 SQL 进行检查和改写。
- Dataway 沉淀 dataAccessLayer 元信息访问层
- hasor-web :HttpParameters 增加三组方法clearReplaceMap、mergeReplaceMap、appendMap。
- JdbcTemplate 增加一组 loadSplitSQL 方法,可以通过一个分隔符将 load 的SQL脚本分成多次执行。
- 增加 HASOR_DATAQL_DATAWAY_DAL_TYPE 环境变量用于选择 dataway 元信息存储器类型。
- dataql-fx-hconfig.xml 中 Fragment 提升到配置文件中配置。
- dataway-hconfig.xml 中 dataAccessLayer 可以配置文件定义不同的 provider 然后利用 HASOR_DATAQL_DATAWAY_DAL_TYPE 来选择。
- 新增 nacos 的支持,利用 nacos 来充当接口配置信息的存储器。
优化
- 支持多条 SQL 语句同时执行。
- SqlFragment 迎来重大升级。弱化了 SqlMode 的作用,允许执行其它类型的 SQL。 因此例如:存储过程的在 4.1.14 版本中得到了支持。
- Dataway - release 表
- 增加 comment 字段
- 表全列改为字符串类型,并取消 pub_id 字段的自增特性
- 原 api_path + api_method 作为唯一索引中删除 api_method 字段
- Dataway - info 表
- 表全列改为字符串类型,并取消 api_id 字段的自增特性
- 为 pub_path 字段增加一个常规索引
- pub_schema(release 表)、api_schema(info 表)字段存储内容优化
- requestSchema 改名为 requestBody
- responseSchema 改名为 responseBody
- 新增 requestHeader、responseHeader。
- 所有字段内容格式均为 JsonSchema 格式。
- pub_sample(release 表)、api_sample(info 表)字段存储内容优化
- headerData 改名为 requestHeader,内容格式从 JSON 对象改为 JSON 字符串。
- 新增 responseBody、responseHeader 两个字段,内容也是 JSON 字符串。
- 接口发布历史中,增加状态显示。
- 删除 HASOR_DATAQL_DATAWAY_FORCE_DBTYPE 环境变量及其功能。
- 删除 DataQL 中默认全局变量 dbMapping。
- 删除 DataBaseMapping 枚举。
修复
- 修复新增接口保存成功之后,无法点击冒烟和发布的问题。受影响所有 Editor 状态的接口都会无法冒烟和发布。
-
解决 DatawayFinder 可能导致的循环依赖问题。
版本下官方提供的 元信息存储,数据库建表语句扩充了一倍,已经达到了 8 个。
http://www.hasor.net/doc/pages/viewpage.action?pageId=1573294
Dataway 4.1.5~4.1.13 数据库升级脚本,建议升级之前进行数据备份(Mysql 升级脚本)
/* 默认数据订正 */
update interface_info set api_comment = '' where api_comment is null;
update interface_info set api_schema = '{}' where api_schema is null;
update interface_info set api_sample = '{}' where api_sample is null;
update interface_info set api_option = '{}' where api_option is null;
update interface_info set api_create_time = now() where api_create_time is null;
update interface_info set api_gmt_time = now() where api_gmt_time is null;
update interface_release set pub_script = '' where pub_script is null;
update interface_release set pub_script_ori = '' where pub_script_ori is null;
update interface_release set pub_schema = '{}' where pub_schema is null;
update interface_release set pub_sample = '{}' where pub_sample is null;
update interface_release set pub_option = '{}' where pub_option is null;
update interface_release set pub_release_time = now() where pub_release_time is null;
/* 表结构变更 */
alter table interface_info
modify api_id varchar(64) not null comment 'ID';
alter table interface_info
modify api_status varchar(4) not null comment '状态:0,1,2,3';
alter table interface_info
modify api_comment varchar(255) not null comment '注释';
alter table interface_info
modify api_schema mediumtext not null comment '接口的请求/响应数据结构';
alter table interface_info
modify api_sample mediumtext not null comment '请求/响应/请求头样本数据';
alter table interface_info
modify api_option mediumtext not null comment '扩展配置信息';
alter table interface_info
modify api_create_time varchar(32) not null comment '创建时间';
alter table interface_info
modify api_gmt_time varchar(32) not null comment '修改时间';
alter table interface_release
modify pub_id varchar(64) not null comment 'Publish ID';
alter table interface_release
modify pub_api_id varchar(64) not null comment '所属API ID';
alter table interface_release
modify pub_status varchar(4) not null comment '状态:0有效,1无效(可能被下线)';
alter table interface_release
modify pub_script mediumtext not null comment '查询脚本:xxxxxxx';
alter table interface_release
modify pub_script_ori mediumtext not null comment '原始查询脚本,仅当类型为SQL时不同';
alter table interface_release
modify pub_schema mediumtext not null comment '接口的请求/响应数据结构';
alter table interface_release
modify pub_sample mediumtext not null comment '请求/响应/请求头样本数据';
alter table interface_release
modify pub_option mediumtext not null comment '扩展配置信息';
alter table interface_release
modify pub_release_time varchar(32) not null comment '发布时间(下线不更新)';
alter table interface_release
add pub_comment varchar(255) default '' not null comment '备注';
alter table interface_release
modify pub_comment varchar(255) not null comment '备注';
/* 重建索引 */
alter table interface_info drop key idx_interface_info;
alter table interface_info
add constraint idx_interface_info
unique (api_path);
create index idx_interface_release_path
on interface_release (pub_path);
/* 时间日期数据订正 */
update interface_info set
api_create_time = UNIX_TIMESTAMP(STR_TO_DATE(api_create_time, '%Y-%m-%d %H:%i:%s') * 1000),
api_gmt_time = UNIX_TIMESTAMP(STR_TO_DATE(api_gmt_time, '%Y-%m-%d %H:%i:%s') * 1000);
update interface_release set
pub_release_time = UNIX_TIMESTAMP(STR_TO_DATE(pub_release_time, '%Y-%m-%d %H:%i:%s') * 1000);
/* 默认数据订正 */
update interface_info set api_comment = '' where api_comment is null;
update interface_info set api_schema = '{}' where api_schema is null;
update interface_info set api_sample = '{}' where api_sample is null;
update interface_info set api_option = '{}' where api_option is null;
update interface_info set api_create_time = now() where api_create_time is null;
update interface_info set api_gmt_time = now() where api_gmt_time is null;
update interface_release set pub_script = '' where pub_script is null;
update interface_release set pub_script_ori = '' where pub_script_ori is null;
update interface_release set pub_schema = '{}' where pub_schema is null;
update interface_release set pub_sample = '{}' where pub_sample is null;
update interface_release set pub_option = '{}' where pub_option is null;
update interface_release set pub_release_time = now() where pub_release_time is null;
/* 表结构变更 */
alter table interface_info
modify api_id varchar(64) not null comment 'ID';
alter table interface_info
modify api_status varchar(4) not null comment '状态:0,1,2,3';
alter table interface_info
modify api_comment varchar(255) not null comment '注释';
alter table interface_info
modify api_schema mediumtext not null comment '接口的请求/响应数据结构';
alter table interface_info
modify api_sample mediumtext not null comment '请求/响应/请求头样本数据';
alter table interface_info
modify api_option mediumtext not null comment '扩展配置信息';
alter table interface_info
modify api_create_time varchar(32) not null comment '创建时间';
alter table interface_info
modify api_gmt_time varchar(32) not null comment '修改时间';
alter table interface_release
modify pub_id varchar(64) not null comment 'Publish ID';
alter table interface_release
modify pub_api_id varchar(64) not null comment '所属API ID';
alter table interface_release
modify pub_status varchar(4) not null comment '状态:0有效,1无效(可能被下线)';
alter table interface_release
modify pub_script mediumtext not null comment '查询脚本:xxxxxxx';
alter table interface_release
modify pub_script_ori mediumtext not null comment '原始查询脚本,仅当类型为SQL时不同';
alter table interface_release
modify pub_schema mediumtext not null comment '接口的请求/响应数据结构';
alter table interface_release
modify pub_sample mediumtext not null comment '请求/响应/请求头样本数据';
alter table interface_release
modify pub_option mediumtext not null comment '扩展配置信息';
alter table interface_release
modify pub_release_time varchar(32) not null comment '发布时间(下线不更新)';
alter table interface_release
add pub_comment varchar(255) default '' not null comment '备注';
alter table interface_release
modify pub_comment varchar(255) not null comment '备注';
/* 重建索引 */
alter table interface_info drop key idx_interface_info;
alter table interface_info
add constraint idx_interface_info
unique (api_path);
create index idx_interface_release_path
on interface_release (pub_path);
/* 时间日期数据订正 */
update interface_info set
api_create_time = UNIX_TIMESTAMP(STR_TO_DATE(api_create_time, '%Y-%m-%d %H:%i:%s') * 1000),
api_gmt_time = UNIX_TIMESTAMP(STR_TO_DATE(api_gmt_time, '%Y-%m-%d %H:%i:%s') * 1000);
update interface_release set
pub_release_time = UNIX_TIMESTAMP(STR_TO_DATE(pub_release_time, '%Y-%m-%d %H:%i:%s') * 1000);
以上所述就是小编给大家介绍的《Dataway 4.2.0 发布,全面支持各类数据库,各类型 SQL 语句,支持 nacos》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Sharding-JDBC 2.0.3 发布,TCL 语句支持
- Word 模板引擎 poi-tl V1.7.1 发布,支持条件和循环语句
- MySQL 建表语句转 PostgreSQL 建表语句全纪录
- Go语言开发-过程式编程-通信和并发语句-Select语句
- SQL语句优化之JOIN和LEFT JOIN 和 RIGHT JOIN语句的优化
- Python 条件语句
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ajax修炼之道
(美)哥特兰、高伯瑞斯、艾米亚 / 徐锋,胡冰 / 电子工业出版社 / 2006-4 / 29.8
Ajax将静态Web页面转变为充满交互的应用。现在您不需要牺牲Web应用程序部署的简单性,就可以将“胖”客户端应用程序部署到客户端。不过对于很多人业说,Ajax看起来很难。这就是我们撰写本书的原因。作为实践的指导,本书揭开了Ajax神秘的面纱,教您如何以简单的方式使用Ajax。本书内容覆盖了DHTML、Javascript和闻名已久的XmlHttp Request回调技术的基础知识。您将了解如何将......一起来看看 《Ajax修炼之道》 这本书的介绍吧!