Documentation
¶
Overview ¶
Package newmigrate: Database migration instance factory with multiple initialization strategies Provides flexible migration creation supporting file systems, embedded resources and database drivers Features generic type parameters for automatic driver registration and configuration Integrates with golang-migrate library for robust version control and execution
newmigrate: 数据库迁移实例工厂,支持多种初始化策略 提供灵活的迁移创建,支持文件系统、嵌入资源和数据库驱动 具有泛型类型参数,用于自动驱动注册和配置 与 golang-migrate 库集成,提供稳健的版本控制和执行
Index ¶
- func NewWithEmbedFsAndDatabase(param *EmbedFsAndDatabaseParam) (*migrate.Migrate, error)
- func NewWithScriptsAndDBSource[T database.Driver](param *ScriptsAndDBSourceParam) (*migrate.Migrate, error)
- func NewWithScriptsAndDatabase(param *ScriptsAndDatabaseParam) (*migrate.Migrate, error)
- type EmbedFsAndDatabaseParam
- type ScriptsAndDBSourceParam
- type ScriptsAndDatabaseParam
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewWithEmbedFsAndDatabase ¶ added in v0.0.10
func NewWithEmbedFsAndDatabase(param *EmbedFsAndDatabaseParam) (*migrate.Migrate, error)
func NewWithScriptsAndDBSource ¶ added in v0.0.10
func NewWithScriptsAndDBSource[T database.Driver](param *ScriptsAndDBSourceParam) (*migrate.Migrate, error)
NewWithScriptsAndDBSource creates migration instance using file system scripts and database connection string Generic type parameter T enforces database driver interface compliance and triggers driver registration Supports multiple database types through golang-migrate driver system Returns configured migration instance ready for execution
Supported database drivers:
- sqlite3.Sqlite from "github.com/golang-migrate/migrate/v4/database/sqlite3"
- mysql.Mysql from "github.com/golang-migrate/migrate/v4/database/mysql"
- postgres.Postgres from "github.com/golang-migrate/migrate/v4/database/postgres"
Usage examples:
- migration, err := NewWithScriptsAndDBSource[*sqlite3.Sqlite](param)
- migration, err := NewWithScriptsAndDBSource[*mysql.Mysql](param)
- migration, err := NewWithScriptsAndDBSource[*postgres.Postgres](param)
NewWithScriptsAndDBSource 使用文件系统脚本和数据库连接字符串创建迁移实例 泛型类型参数 T 强制数据库驱动接口兼容性并触发驱动注册 通过 golang-migrate 驱动系统支持多种数据库类型 返回已配置的迁移实例,可用于执行
func NewWithScriptsAndDatabase ¶ added in v0.0.10
func NewWithScriptsAndDatabase(param *ScriptsAndDatabaseParam) (*migrate.Migrate, error)
Types ¶
type EmbedFsAndDatabaseParam ¶ added in v0.0.10
type EmbedFsAndDatabaseParam struct { MigrationsFS *embed.FS // Embedded file system with migrations // 包含迁移的嵌入文件系统 EmbedDirName string // DIR name within embedded FS // 嵌入 FS 中的 DIR 名称 DatabaseName string // Database name identifier // 数据库名称标识符 DatabaseInstance database.Driver // Database driver instance // 数据库驱动实例 }
EmbedFsAndDatabaseParam contains configuration for embedded file system migration with database driver Enables migration scripts to be embedded into binary for distribution Supports self-contained applications with built-in migration capabilities
EmbedFsAndDatabaseParam 包含嵌入文件系统迁移的配置和数据库驱动 支持将迁移脚本嵌入到二进制文件中进行分发 支持具有内置迁移功能的自包含应用程序
type ScriptsAndDBSourceParam ¶ added in v0.0.10
type ScriptsAndDBSourceParam struct { ScriptsInRoot string // Path to migration scripts DIR // 迁移脚本 DIR 路径 ConnectSource string // Database connection string // 数据库连接字符串 }
ScriptsAndDBSourceParam contains configuration for file-based migration with database connection string Supports migration from local file system with database connection URL Used for simple setup scenarios where database connection string is available
ScriptsAndDBSourceParam 包含基于文件的迁移配置和数据库连接字符串 支持从本地文件系统进行迁移,使用数据库连接 URL 用于可获得数据库连接字符串的简单设置场景
type ScriptsAndDatabaseParam ¶ added in v0.0.10
type ScriptsAndDatabaseParam struct { ScriptsInRoot string // Path to migration scripts DIR // 迁移脚本 DIR 路径 DatabaseName string // Database name identifier // 数据库名称标识符 DatabaseInstance database.Driver // Database driver instance // 数据库驱动实例 }
ScriptsAndDatabaseParam contains configuration for file-based migration with database driver instance Provides direct database driver control for advanced configuration scenarios Enables custom database setup and connection management
ScriptsAndDatabaseParam 包含基于文件的迁移配置和数据库驱动实例 为高级配置场景提供直接的数据库驱动控制 支持自定义数据库设置和连接管理