| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Use migrate in Go project(golang-migrate/migrate) -> 正文阅读 |
|
[大数据]Use migrate in Go project(golang-migrate/migrate) |
目录 ? ? ? ? ?引言 引言代码内集成的方式相对来说更加灵活,如果业务上需要在代码中进行数据库的维护作用,可以选择该方法。 测试postgre1.启动数据库?采用postgresSQL作为示例 进入postgres 容器内运行?
|
|
3.目录树
000001 是某次修改的版本号,因为本次是第二次生成sql 脚本文件,create_books_tabel 前编号是000002
当前目录:
? golang project 目录文件
migrations 子级目录:
? ??000002_create_books_table.down.sql? ? 回滚本次操作的sql脚本
? ??000002_create_books_table.up.sql ?创建books表的sql脚本
代码文件示例:
000002_create_books_table.up.sql
|
000002_create_books_table.down.sql
|
4.运行go-migrations程序
? go app 是main.go 示例如下:
|
postgres://user:password@host:port/dbname?query
?(postgresql://
?works, too)
URL Query | WithInstance Config | Description |
---|---|---|
x-migrations-table | MigrationsTable | Name of the migrations table |
x-migrations-table-quoted | MigrationsTableQuoted | By default, migrate quotes the migration table for SQL injection safety reasons. This option disable quoting and naively checks that you have quoted the migration table name. e.g.?"my_schema"."schema_migrations" |
x-statement-timeout | StatementTimeout | Abort any statement that takes more than the specified number of milliseconds |
x-multi-statement | MultiStatementEnabled | Enable multi-statement execution (default: false) |
x-multi-statement-max-size | MultiStatementMaxSize | Maximum size of single statement in bytes (default: 10MB) |
dbname | DatabaseName | The name of the database to connect to |
search_path | This variable specifies the order in which schemas are searched when an object is referenced by a simple name with no schema specified. | |
user | The user to sign in as | |
password | The user's password | |
host | The host to connect to. Values that start with / are for unix domain sockets. (default is localhost) | |
port | The port to bind to. (default is 5432) | |
fallback_application_name | An application_name to fall back to if one isn't provided. | |
connect_timeout | Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely. | |
sslcert | Cert file location. The file must contain PEM encoded data. | |
sslkey | Key file location. The file must contain PEM encoded data. | |
sslrootcert | The location of the root certificate file. The file must contain PEM encoded data. | |
sslmode | Whether or not to use SSL (disable|require|verify-ca|verify-full) |
常用函数示例:?
func New(sourceUrl, databaseUrl string) (*Migrate, error) New 从源 URL 和数据库 URL 返回一个新的 Migrate 实例。
func (m *Migrate) Version() (version uint, dirty bool, err error) 版本返回当前活动的迁移版本。
func (m *Migrate) Up() error Up 查看当前活动的迁移版本,并将一直向上迁移(应用所有向上迁移)。
func (m *Migrate) Down() error Down 查看当前活动的迁移版本,并将一直向下迁移(应用所有向下迁移)。
func (m *Migrate) Steps(n int) error Steps 查看当前活动的迁移版本。如果 n > 0,它将向上迁移,如果 n < 0,它将向下迁移。
create_
以create_
为前缀的,是创建数据表脚本。
addcolumn
以add_column_
为前缀的,是向已经创建的数据表添加字段,修改数据表时使用。
addindex
以add_index_
为前缀的,是向已经创建的数据表添加索引,修改数据表时使用。
dropcolumn
以drop_column_
为前缀的,是向已经创建的数据表删除字段,修改数据表时使用。
dropindex
以drop_index_
为前缀的,是向已经创建的数据表删除索引,修改数据表时使用。
renamecolumn
以rename_column_
为前缀的,是向已经创建的数据表重命名字段,修改数据表时使用。
renameindex
以rename_index_
为前缀的,是向已经创建的数据表重命名索引,修改数据表时使用。
1.migrate/database/postgres at master · golang-migrate/migrate · GitHub
2.migrate package - github.com/golang-migrate/migrate - pkg.go.dev
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:54:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |