01-cloud-disk开发前准备

项目背景

学习go基础之后,写一个单体的go项目熟悉熟悉go的基本写法

go环境准备

go的安装就不说了,网上有很多,因为这次用到了go mod所以设置一个go mod的参数

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct 

go mod简单扫盲

go mod init   初始化项目,一般用golang去创建项目都会生成go.mod文件
go mod tidy  这个命令很使用,可以拉取缺少的依赖和清除一些不用的依赖,一般复制一些网上中间件使用的代码的时候,这个时候使用go mod tidy一键下载,不用一个一个去执行了 go get 了

另外使用golang开发
激活码可以关注** 巴德吟游诗人**,里面有获取验证码的方法,好用,不像一些其他公众号关注了提供给的激活码都不能使用

中间件的使用

redis 记录验证码
docker run -d --name test_redis -p 6379:6379 redis:5.0 --requirepass "password"
mysql
docker run   -p 3306:3306 --name mysql -v /home/mysql/data:/var/lib/mysql  -v /home/mysql/conf:/etc/mysql/conf.d  -v /home/mysql/log:/var/log/mysql  -e MYSQL_ROOT_PASSWORD=root  -d mysql:5.7

sql脚本

CREATE TABLE `user_basic` (
	`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
	`identity` VARCHAR(36) DEFAULT NULL,
	`name` VARCHAR(60) DEFAULT NULL,
	`password` VARCHAR(32) DEFAULT NULL,
	`phone` VARCHAR(100) DEFAULT NULL,
	`now_volume` INT ,
	`total_volume`  INT ,
	`created_at` DATETIME DEFAULT NULL,
	`updated_at` DATETIME DEFAULT NULL,
	`deleted_at` DATETIME DEFAULT NULL,
	`status` INT,
	PRIMARY KEY (`id`)
) ENGINE=INNODB
CREATE TABLE `repository_pool` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`identity` varchar(36) DEFAULT NULL,
`hash` varchar(32) DEFAULT NULL COMMENT '文件的唯一标识',
`name` varchar(255) DEFAULT NULL COMMENT '文件名称',
`ext` varchar(30) DEFAULT NULL COMMENT '文件扩展名',
`size` int(11) DEFAULT NULL COMMENT '文件大小',
`path` varchar(255) DEFAULT NULL COMMENT '文件路径',
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
CREATE TABLE `user_repository` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `identity` varchar(36) DEFAULT NULL,
	`parent_id` int(11) DEFAULT NULL COMMENT '父级文件层级, 0-【文件夹】',
	`user_identity` varchar(36) DEFAULT NULL COMMENT '对应用户的唯一标识',
	`repository_identity` varchar(36) DEFAULT NULL COMMENT '公共池中文件的唯一标识',
	`ext` varchar(255) DEFAULT NULL COMMENT '文件或文件夹类型',
	`name` varchar(255) DEFAULT NULL COMMENT '用户定义的文件名',
	`created_at` datetime DEFAULT NULL,
	`updated_at` datetime DEFAULT NULL,
	`deleted_at` datetime DEFAULT NULL,
	`status`  INT ,
	PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
CREATE TABLE `share_basic` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`identity` varchar(36) DEFAULT NULL,
`user_identity` varchar(36) DEFAULT NULL COMMENT '对应用户的唯一标识',
`repository_identity` varchar(36) DEFAULT NULL COMMENT '公共池中文件的唯一标识',
`user_repository_identity` varchar(36) DEFAULT NULL COMMENT '用户池子中的唯一标识',
`expired_time` int(11) DEFAULT NULL COMMENT '失效时间,单位秒,【0-永不失效】',
`click_num` int(11) DEFAULT '0' COMMENT '点击次数',
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

结束

这个项目也是从b站上面学习的,也对之前博主的逻辑进行了修改,这个博客只是为了记录,初学go项目的一些经验和踩坑
b站go cloud-disk项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值