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

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分