数据库版本管理-migrate

migrate是一个golang写成的数据库版本迁移工具,可以用来方便的对数据库进行迁移和回退。 Github上有详细的教程等:https://github.com/golang-migrate/migrate 在安装时可能需要指定所用的驱动,否则会因缺少驱动无法连接数据库,例如go install -tags mysql github.com/golang-migrate/migrate/v4/cmd/migrate 建立目录 mkdir -p migrate-demo/db cd migrate-demo/db mkdir ddl mkdir -p schema/blog 现在migrate-demo目录下结构如下: . └── db ├── ddl └── schema └── blog 其中,ddl中存储建库的sql文件,schema存放建表的sql文件 建库 建库 vim db/ddl/blog.sql CREATE DATABASE IF NOT EXISTS blog DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci; build镜像 编写Dockerfile vim db/Dockerfile FROMmysql:5.7COPY ./ddl /docker-entrypoint-initdb.d/ENV MYSQL_ROOT_PASSWORD=admin123 复制到/docker-entrypoint-initdb.d目录下的sql脚本会被自动执行 docker build -t mysql-demo -f ./Dockerfile . build成功后,使用docker images命令查看镜像:...

August 15, 2021 · 1 min · 李昌