Go语言的GoFly快速开发框架已经支持Postgresql和Mysql两种数据库

本文主要是介绍Go语言的GoFly快速开发框架已经支持Postgresql和Mysql两种数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

两个数据库的选择

我们框架为了方便大家开发能更加业务场景选择不同侧重性能要求的数据,我们把MySQL和PostgreSQL两个在开源界很有名气数据库都支持进去。这样一个企业可以在开发习惯不改变情况下可以有两个选择。

这样的话我们在选择数据库系统时,需要根据实际应用场景来权衡。

  • 如果您的项目需要处理大量读操作、对性能要求较高,并且不需要过于复杂的数据类型和查询,那么MySQL可能是一个更好的选择。
  • 如果您的项目需要处理复杂查询、具有复杂数据类型和高度并发的需求,或者您需要强大的扩展性和自定义功能,那么PostgreSQL可能更适合您。

此外,还需要考虑团队的技术栈和经验。如果您的团队对MySQL更熟悉,那么选择MySQL可能更容易实现项目的快速开发和部署。而如果您的团队对PostgreSQL有更深入的了解和经验,那么选择PostgreSQL可能更能发挥团队的技术优势。

数据库的使用

1.mysql

 我们框架默认mysql配置,直接安装开发文档安装即可,安装步骤简单步骤为:

1.下载框架源码

2.把代码解压到Go工程目录下

3.运行go项目,命名为:fresh 或者 go run main.go

4.点击http://127.0.0.1:8200/common/install/index 进行安装

2.PostgreSQL

如果你是用PostgreSQL数据库,那么你的自己手动导入数据库数据,并到resource\config.yaml自己配置一下数据库的账号密码等参数,安装步骤简单步骤为:

1.下载框架源码

2.把代码解压到Go工程目录下

3.运行go项目,命名为:fresh 或者 go run main.go

4.下载数据库sql文件:点击这里下载 ,如果无法下载请到社区开发文档:开发文档下载。

5.配置resource\config.yaml数据库配置项,完整配置文件如下,你替换一下你的数据库具体账号密码等参数:

database: #数据库配置default:#地址hostname: 127.0.0.1#端口           hostport: 5432#账号                 username: postgres#密码              password: gofly#数据库名称           dbname: gofly_bs#表名前缀prefix: type:          "pgsql"                   #数据库类型(如:mariadb/tidb/mysql/pgsql/mssql/sqlite/oracle/clickhouse/dm) extra:          ""                       #不同数据库的额外特性配置,由底层数据库driver定义role:          "master"                  #数据库主从角色(master/slave),不使用应用层的主从机制请均设置为masterdebug:         false                     #开启调试模式dryrun:        0                         #ORM空跑(只读不写)weight:        100                       #负载均衡权重,用于负载均衡控制,不使用应用层的负载均衡机制请置空charset:       "utf8mb4"                 #数据库编码(如: utf8/utf8mb4/gbk/gb2312),一般设置为utf8mb4,低版本数据库设置utf8timezone:      "Asia/Shanghai"           #时区配置,例如:Local",如果pgsql配置:Asia/ShanghaimaxIdle:       10                        #连接池最大闲置的连接数maxOpen:       100                       #连接池最大打开的连接数maxLifetime:   "30s"                     #连接对象可重复使用的时间长度createdAt:     "createtime"              #自动创建时间字段名称updatedAt:     "updatetime"              #自动更新时间字段名称deletedAt:     "deletetime"              #软删除时间字段名称#配置sql日志文件logger:                                   path:    "runtime/log/sql"level:   "all"stdout:  true
app: #应用配置#版本号version: 2.3.5#运行服务端口(根据您的实际情况修改)port: 8200#接口合法性验证-加密字符串apisecret: gofly@888#接口JWT验证、跨域域名-不添加请求时报403 (开发、部署必改),部署域名时:“https://sg.goflys.cn”替换成您的域名,不限制则配*allowurl: http://localhost:9200,http://localhost:9201,http://127.0.0.1:9200,http://127.0.0.1:9201#token超时时间单位分钟 tokenouttime: 120#调用cpu个数 如果无需设置请写0cpunum: 0#登录是否启用人机验证loginCaptcha: true# 框架运行环境,Gin框架在运行的时候默认是debug模式 有: 开发:debug,生产:release,测试模式:testrunEnv: debug# 配置代码生成时-前端代码根目录位置(开发必改)vueobjroot: D:/Project/develop/vue/gofly_admin_v2#业务端目录名称 默认business,如果您改成其他请修改成定义目录名称busDirName: business#管理端目录名称 默认admin,如果您改成其他请修改成定义目录名称adminDirName: admin#配置企业私有仓网址-后台下载是有部署在代码仓配置companyPrivateHouse: # 配置根域名访问重定向路径,默认是业务端后台rootview: webbusiness#不需要token验证-根模块noVerifyTokenRoot: webbusiness#不需要api接口合法性验证-根模块md5加密noVerifyAPIRoot: webbusiness#不需要验证token-具体请求路径noVerifyToken: /common/uploadfile/getfile,/common/install/index,/business/user/getLogininfo,/business/user/logout,/common/install/save,/admin/user/login,/admin/user/logout,/admin/user/resetPassword,/business/user/login,/common/basetool/getCaptcha,/common/basetool/loginCaptcha,/business/user/resetPassword,/admin/user/getLogininfo,/common/upload/fileNov,/business/cronjob/getTest#不需要接口合法性-具体请求路径noVerifyAPI: /common/uploadfile/getfile,/common/install/index,/common/install/save,/common/basetool/getCaptcha,/business/cronjob/getTest
# 日志配置
logger:path:    "runtime/log"level:   "all"stdout:  false
# Redis数据库配置
redis:default:address: 127.0.0.1:6379db: 1cache:address: 127.0.0.1:6379db: 1pass: "123456"idleTimeout: 600

 6.下载驱动的文件:点击这里下载pgsql驱动,然后把下载驱动文件解压到utils\drivers目录下。

7.在main.go的import中引入pgsql驱动,代码如下:

package mainimport (//引入数据库驱动// _ "gofly/utils/drivers/mysql"_ "gofly/utils/drivers/pgsql"// _ "gofly/utils/drivers/redis""gofly/utils/router"
)func main() {// 启动服务器router.RunServer()
}

8.安装前端

由于pgsql还不支持UI界面安装,所以前端代码无法自动安装,需要你手动复制到您前端vue开发目录中解压,前端代码zip包在devsource\developer\install\vuecode下。

9.请把前端代码安装位置路径配置到resource\config.yaml中app下的 vueobjroot: ,这样开发时代码生成才能找到前端代码存放位置,才能做新增改删除操作。

到此你就个正常使用我,我们框架了。

 

这篇关于Go语言的GoFly快速开发框架已经支持Postgresql和Mysql两种数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1037089

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

Java8 Collectors.toMap() 的两种用法

《Java8Collectors.toMap()的两种用法》Collectors.toMap():JDK8中提供,用于将Stream流转换为Map,本文给大家介绍Java8Collector... 目录一、简单介绍用法1:根据某一属性,对对象的实例或属性做映射用法2:根据某一属性,对对象集合进行去重二、Du