如何在 Windows 上安装 Golang Migrate

Golang(也称为 Go 语言)是一种开源的过程化编程语言。它由 Robert Griesemer、Rob Pike 和 Ken Thompson 在 Google 设计。它于 2007 年开发,并于 2009 年公开发布。Golang 在 Google 和许多其他开源项目中得到了广泛应用。让我们通过这篇文章了解更多关于 Golang 编程语言的信息。

Golang Migrate 简介

Golang Migrate 是一个用于处理数据库迁移的 Golang 包。Golang 数据库迁移可以作为库导入或作为 CLI 使用。Golang migrate 从各种源(如文件系统 Filesystem、io/fs、GitHub、Google 云存储等)读取迁移,并将其应用到各种数据库(如 PGX、Redshift、MongoDB、MySQL 等)。数据库不像人类那样具备自主思考的能力。如果迁移不完整或不正确,操作就会失败。

文件名格式

一次迁移由两个独立的迁移文件表示,一个是从源(如文件系统、io/fs、GitHub 等)进行 向上 迁移的文件,另一个是 向下 迁移的文件。

迁移 向上 文件用于将数据库从上一版本迁移向上升级到指定版本。

> {version}_{filename}.up.{extension}

迁移 向下 文件用于将数据库迁移向下回退到上一版本。

> {version}_{filename}.down.{extension}

每个迁移的标题仅为了可读性。该库不会检查迁移文件的扩展名。请为数据库使用适当的格式(例如:MongoDB 使用 .mongodb)。Golang migrate CLI 是围绕该库的一个简单封装;它没有任何配置搜索路径、配置文件或神奇的 ENV 变量注入,并且它拥有最好的特性之一——ctrl + c (SIGINT)。它的处理非常高效。

示例:

> $ migrate -source file://path/to/migrations -database postgres://localhost:8000/database up 5

如果您想运行数据库的前 5 个迁移并想在中途停止,请发送 ctrl + c (SIGINT),CLI 将在安全点优雅地停止。

发送 SIGKILL 可立即停止。

现在让我们安装 Golang Migrate,但在此之前,请确保您的电脑上已经安装了 GO。检查您的电脑上是否安装了 GO。在 cmd 中运行以下命令来检查:

> $ go version

!GO-version-1.19-installed.

如果显示错误或 go 命令未被识别为内部或外部命令,这意味着您的电脑上没有安装 GO。此外,如果您的 GO 版本低于 1.15,请阅读相关文章并安装最新版本的 GO。现在,让我们开始安装 GOLANG MIGRATE 的过程。

方法 1:使用 Scoop

Scoop 是 Windows 的命令行安装程序;这使程序的安装变得简单快捷。如果您之前已经安装了它,那么请跳转到 步骤 2。否则,别担心,这只是一个 1 步 的过程。
步骤 1:安装 Scoop:在您的电脑上打开 Windows PowerShell,并运行以下命令来安装 SCOOP。

> $ irm get.scoop.sh | iex

!Scoop-installed

这表明 Scoop 已成功安装在您的电脑上。

步骤 2:安装 Migrate:在您的电脑上打开 Windows PowerShell,并运行以下命令来安装 MIGRATE。

> $ scoop install migrate

!Successfully-Installed-Migrate-4.15.2

现在您已准备好使用 MIGRATE 进行数据库迁移了。

方法 2:使用 Go Toolchain

如果您的电脑上已经安装了 git,那么请继续进行 步骤 2。否则,请按照 步骤 1 中的操作进行。

步骤 1:安装 GIT:如果您没有安装 git 但在电脑上安装了 Scoop,请继续执行 步骤 1.2,否则请按照 步骤 1.1 操作。

  • 首先按照 方法 1,步骤 1 安装 Scoop
  • 打开 Windows PowerShell,使用以下命令安装 git。

> $ scoop install git

!Installed-git-successfully.

步骤 2:打开 Windows Powershell 并运行以下命令,

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

运行以下命令时,请在您的电脑上查找它所在的路径并运行该命令。它可能在不同的驱动器或目录中,因此请仔细检查所有与 GO 相关的可能目录。您可以从我的命令中看到示例。必要时使用 ls 命令。

> $ cd src/github.com/golang-migrate/migrate/cmd/migrate

![Running-command-in-windows-Powershell](https://media.geeksforgeeks.org/wp-content/uploads

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/42869.html
点赞
0.00 平均评分 (0% 分数) - 0