为了更方便进行数据库操作,不断适应业务开发需求,migrate用于进行数据库操作。使用migrate的时候会在数据中建立一个schema_migrations表,用以记录migrate运行的记录,每当运行migrate的时候,会首先去检查这张表,如果表中的为True,则会报错。

golang-migrate地址:

golang-migrate地址:
https://github.com/golang-migrate/migrate

安装:

windows10:
cmd命令输入:

scoop install migrate

安装完成后:
cmd命令行输入:

migrate -version

出现版本信息即为安装成功。

创建迁移文件

语法:
create [-ext E] [-dir D] [-seq] [-digits N] [-format] [-tz] NAME

migrate create -ext sql -dir db/migrate -seq init_schema

运行成功后自动在db/migrate文件夹下生成对应的迁移文件。如下图
在这里插入图片描述

向上迁移

将对应的sql语句写入生成的
000001_init_schema.up文件中,然后执行命令
命令:

migrate -path db/migration -database "mysql://root:4524@tcp(localhost:3306)/blog" -verbose up

回滚

将对应的sql语句写入生成的
000001_init_schema.down文件中,然后执行命令

migrate -path db/migration -database "mysql://root:4524@tcp(localhost:3306)/blog" -verbose down

成功后在数据库

Golang-migrate简单使用相关推荐

  1. 基于Golang的简单web服务程序开发——CloudGo

    基于Golang的简单web服务程序开发--CloudGo[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 (1)基本要求 (2)扩展要求 三.具体 ...

  2. Golang实现简单爬虫框架(4)——队列实现并发任务调度

    前言 在上一篇文章<Golang实现简单爬虫框架(3)--简单并发版>中我们实现了一个最简单并发爬虫,调度器为每一个Request创建一个goroutine,每个goroutine往Wor ...

  3. nsq Android客户端,NSQ的golang客户端简单使用

    NSQ的golang客户端简单使用 NSQ 是由国外的一个短链服务商bitly使用golang开发的一个消息队列系统,正好使用到了这个东西,在这里简单的记录下. 获取客户端 nsq的golang客户端 ...

  4. Golang实现简单爬虫框架(5)——项目重构与数据存储

    前言 在上一篇文章<Golang实现简单爬虫框架(4)--队列实现并发任务调度>中,我们使用用队列实现了任务调度,接下来首先对两种并发方式做一个同构,使代码统一.然后添加数据存储模块. 注 ...

  5. Golang编写简单图片服务器

    Golang编写简单图片服务器 图片服务器 最近的开发过程中,遇到一个问题,就是大量零碎图片的存储,最后我决定研究一个简单的图像服务器,以解决图像文件存储的性能问题.在此,写一篇博文记录我经历的思想过 ...

  6. Asp.net core与golang web简单对比测试

    最近因为工作需要接触了go语言,又恰好asp.net core发布RC2,就想简单做个对比测试. 下面是测试环境: CPU:E3-1230 v2 内存:16G 电脑有点不给力 操作系统:Centos7 ...

  7. golang从简单的即时聊天来看架构演变

    前言 俗话说的好,架构从来都不是一蹴而就的,没有什么架构一开始设计就是最终版本,其中需要经过很多步骤的变化,今天我们就从一个最简单的例子来看看,究竟架构这个东西是怎么变的. 我将从一个最简单的聊天室的 ...

  8. golang 搭建文件服务器,golang实现简单文件服务器

    用golang作一个简单的文件服务器,http包提供了很好的支持,因为时间紧促,只看了http包中本身须要的一小部分,建议你们若是须要仍是去看官网的文档,搜索引擎搜索出来的前几个方法不是很符合需求.g ...

  9. golang flag简单用法

    版权声明:本文可能为博主原创文章,若标明出处可随便转载. https://blog.csdn.net/Jailman/article/details/80972643 package mainimpo ...

  10. golang websocket简单实现

    包 go get github.com/gorilla/websocket 相关方法 获取连接 func (u *Upgrader) Upgrade(w http.ResponseWriter,r * ...

最新文章

  1. C#读写xml文件最简单方法(操作配置文件)
  2. java为什么还需要分布式锁?
  3. 在IDEA中解决jar包冲突的神操作-必看,秒杀市面方法
  4. cml sml区别_如何简单清晰地描述 CAPM 在投资学中的运用,以及 CAL、CML 和 SML 的关系和区别?...
  5. 第八章 软件维护(1)
  6. 【JZOJ5882】雪人
  7. LAMP虚拟主机架设论坛
  8. http-equiv属性详解
  9. java基于springboot+vue校园车辆管理系统
  10. picker使用以及注意事项
  11. 笔试加分题:有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用() 只小白鼠,在1小时内一定可以找出有毒的水?
  12. T-SQL Recipes之Database Backups
  13. 如果你在犹豫要不要去外包公司,不妨看看这篇文章
  14. 什么方法可以将pdf压缩到最小
  15. ICPC 2018 焦作 C题 Supreme Command
  16. 终于来了!知乎中秋礼盒
  17. HTTP状态码 - 维基百科,自由的百科全书
  18. 超轻薄笔记本电脑软件测试,2009年度-13英寸超轻薄笔记本年度横向评测
  19. 协方差与皮尔森相关性系数
  20. php md5 32 大写,编写生成32位大写和小写字符的md5的函数

热门文章

  1. GitLab仓库迁移
  2. 【STM32】RTC的初始化与基本使用(CT117E电路)
  3. %.9d\n = %09d\n
  4. Firebug工具 —— 简单学习一下测试
  5. 51单片机八位抢答器c语言设计,基于51单片机八路抢答器的设计
  6. 删那些CYDIA看不到的 插件方法。
  7. 01:面试的正确姿势你掌握了吗?
  8. 1.4 唯有独立面对—《逆袭大学》连载
  9. php 三种文件下载的实现
  10. (一)HTML 语言简介