Golang数据库随Golang迁移和SQLC迁移
#编程 #sql #database #go

数据库迁移是控制软件应用程序演变的关键组成部分。他们使程序员能够在保持数据的准确性和一致性的同时修改数据库架构。 Golang-Omigrate是GO编程语言的强大库,它提供了一种管理数据库迁移的实用方法。在本文中,我们将研究如何使用Golang-Omigrate进行有效的数据库迁移。
首先,让我们从回答开始:

什么是SQLC

sqlc代表 sql编译器是一种工具和框架,用于GO编程中类型安全的SQL查询。 SQLC允许您作为GO代码的一部分编写SQL查询,并且它会自动生成将这些查询代表本机GO函数的GO代码。就像我们之前定义的那样,它只是一个在Golang中生成类型安全查询的框架。

Golang迁移
开始 要从Golang迁移开始,您必须首先在计算机上安装Golang。 Here是下载链接的链接,用于您各自的设备OS,然后获取项目设置。
接下来的事情是安装golang迁移

go get -u -d github.com/golang-migrate/migrate/cmd/migrate


或Mac OS

brew install golang-migrate

您可以使用Golang迁移来管理您的数据库迁移。

如何创建迁移

运行Golang migrate create命令将帮助您为迁移名称上下创建一个序列。 Golang迁移使用该SQL文件指定数据库迁移。每个迁移文件都包含一系列必须运行的SQL语句,并反映了数据库架构的特定版本。
下面是生成迁移文件的命令

migrate create -ext sql -dir  <migrationDirectory> -seq {theName}

此命令将在指定的目录中生成一个新的迁移文件,其名称反映了迁移版本和描述性名称。
例如:

migrate create -ext sql -dir  <db/migration> -seq init-schema

这将在DB/迁移文件夹中为我们生成此文件
Image description

up.sql 文件用于更改数据库,为什么 down.sql 文件是恢复更改。

如何使用迁移文件

以下是如何在生成的init-schema.up.sql文件中使用迁移文件的实例。

Image description

在上图中是我们的SQL查询,以创建表中的用户表,下面是如何还原更改。

Image description

上面的步骤为US迁移文件创建,下一步是将模式迁移文件迁移到数据库。

将迁移文件迁移到数据库。

下面的代码显示了如何将迁移文件迁移到Postgres数据库

Image description

其中 root 是用户名, secret 是密码, localhost 是主机, 5432 是端口和示例是要迁移到的数据库的名称。

也要从DB中删除此类迁移,我们要做的就是运行此命令。

Image description

在下一篇文章中,我将解释如何从SQL文件中生成Crud Golang代码。

我希望您从中学到一两件事,在下一个中见。