暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

通过低代码平台go-admin开发MySQL元数据管理系统

117

之前录制DBA体系课的时候,为了讲解低代码平台,测试了好几款,都不尽如人意

有些要付费,有些过于复杂。

而go-admin就恰到好处。特别适合DBA,因为对于只需要CRUD功能的页面,我们只要设计出一张MySQL表,之后页面上点点点就行,不需要写任何代码。

这篇文章就来讲讲具体的使用方法,我们拿增加一个MySQL元数据管理系统举例。

1 后端项目初始化

创建一个文件夹,比如:

dbaproject

进到文件夹中

    cd D:\dbaproject


    克隆项目

      git clone https://github.com/go-admin-team/go-admin.git


      使用VSCode打开克隆下来的go-admin。

      编译:

        cd ./go-admin
        go env -w GOPROXY=https://goproxy.cn,direct
        go mod tidy
        go build


        2 创建库和用户

        创建库:

          create database devops;

          创建用户:

            create user `devops_rw`@`%` identified with mysql_native_password by 'Udca88agcq';
            GRANT all ON devops.* TO `devops_rw`@`%`;


            3 修改配置文件

            config/settings.yml, 复制一份,并修改文件名为:

            config/settings.dev.yml

            修改数据库配置:

              database:
              # 数据库类型 mysql, sqlite3, postgres, sqlserver
              # sqlserver: sqlserver://用户名:密码@地址?database=数据库名
              driver: mysql
              # 数据库连接字符串 mysql 缺省信息 charset=utf8&parseTime=True&loc=Local&timeout=1000ms
              source: user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8&parseTime=True&loc=Local&timeout=1000ms
              #
              ......
              gen:
              # 代码生成读取的数据库名称
              dbname: devops
              # 代码生成是使用前端代码存放位置,需要指定到src文件夹,相对路径
              frontpath: ../go-admin-ui/src

              gen > dbname 此配置可以根据数据库名称来获取该数据库下所有 table,进行代码生成;

              gen > frontpath 代码生成是使用前端代码存放位置,需要指定到 src 文件夹,相对路径;代码要求 go-admin 和 go-admin-ui 必须在同一级目录下,这个路径一定要确定,不然前端代码生成不了。


              4 初始化数据

                go env -w GOOS=windows
                go run main.go  migrate -c config\settings.dev.yml

                这一步会创建一些元数据表。

                我们可以到数据库中看一下,生成了哪些表:

                  use devops
                  show tables;


                  可以看到生成了这些表:


                  5 启动后端项目

                  启动服务:

                    go run main.go  server -c config\settings.dev.yml


                    6 下载前端代码

                    另外开一个VS Code窗口,打开一个Terminal:

                      cd D:\dbaproject
                      git clone  https://github.com/go-admin-team/go-admin-ui.git

                      如果不能直接clone,可以直接去Github上下载zip再解压。

                      如果是安装包下载,需要修改安装包的名字为go-admin-ui。


                      7 前端代码初始化

                      初始化,执行:

                        npm config set registry https://registry.npmjs.org
                        npm install --legacy-peer-deps


                        8 运行前端代码

                          $env:NODE_OPTIONS="--openssl-legacy-provider"
                          npm run dev

                          再到参数设置里面上传logo,并且修改系统名称。

                          系统设置-参数管理。


                          9 创建表

                          这张表,也就是你要增加功能对应的表,比如要增加一个存放MySQL元数据的功能,就设计一张MySQL表。这些字段可以自定义。

                          这里只是举例,生产环境,可以加上业务名、使用人等等。

                            use devops;
                            CREATE TABLE `db_info` (
                              `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '编码',
                              hostname VARCHAR(100NOT NULL COMMENT 'HostName',
                              ip_address VARCHAR(50NOT NULL COMMENT 'IP',
                              port INT NOT NULL COMMENT 'Port',
                              version VARCHAR(20) COMMENT '版本',
                              status VARCHAR(20) COMMENT '状态',
                              `publish_at` timestamp NULL DEFAULT NULL COMMENT '发布时间',
                              `created_at` timestamp NULL DEFAULT NULL,
                              `updated_at` timestamp NULL DEFAULT NULL,
                              `deleted_at` timestamp NULL DEFAULT NULL,
                              `create_by` int unsigned DEFAULT NULL,
                              `update_by` int unsigned DEFAULT NULL,
                              PRIMARY KEY (`id`),
                              KEY `idx_article_deleted_at` (`deleted_at`) USING BTREE
                            ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='MySQL信息';


                            10 代码生成

                            浏览器打开:http://localhost:9527/

                            按如下步骤点击。


                            就可以看到我们刚才创建的表:

                            选择,再确定。


                            就可以看到我们刚才导入的表:


                            再点击编辑。


                            再勾选下图方框选中的内容。

                            列表,表示要在前端展示的内容。

                            查询,表示可以根据这些字段进行搜索。

                            再点提交就行。


                            再点击代码生成:


                            再点击“生成配置”:

                            提示数据生成成功,就表示正常。


                            11 将新增的API自动托管到接口管理中

                            上面的操作,已经生成了API,但是这些API信息还没写入到数据库中。

                            我们可以关闭后端服务,再运行下面命令,就可以把新增的API写入到数据库里。

                              go run main.go server -c config/settings.dev.yml -a false


                              12 测试

                              再刷新前端页面,就会发现新增了一个“MySQL信息”按钮:


                              点击“新增”,就可以增加MySQL元数据信息。

                              比如我们增加一个实例之后,效果如下图:

                              再次感谢go-admin项目所有的贡献者。

                              地址:

                              https://github.com/go-admin-team/go-admin


                              最后,再来介绍一下我的两款产品,【DBA体系课】和【DBA驿站】星球,618活动进行中。

                              【DBA体系课】可以减700,加我微信(mating3306)再领50元叠加券,到手价1249¥,活动最后3天。课程地址:

                              https://class.imooc.com/sale/dba


                              【DBA驿站】星球活动详情可点击跳转,新用户享全年最低价:60¥;月底活动结束,下个月涨价到148¥。

                              文章转载自MySQL数据库联盟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                              评论