migrationstate

package
v0.0.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package migrationstate: Database migration status inspection and reporting system Provides comprehensive status view of database version, script versions and schema differences Enables users to understand current migration state before performing operations

migrationstate: 数据库迁移状态检查和报告系统 提供数据库版本、脚本版本和结构差异的综合状态视图 使用户在执行操作前了解当前迁移状态

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewStatusCmd

func NewStatusCmd(cfg *Config) *cobra.Command

NewStatusCmd creates cobra command that displays migration status Provides comprehensive view of current migration state

NewStatusCmd 创建显示迁移状态的 cobra 命令 提供当前迁移状态的综合视图

func ShowStatus

func ShowStatus(status *Status)

ShowStatus outputs status information in a readable format Colored output improves reading experience

ShowStatus 以可读格式输出状态信息 彩色输出提升阅读体验

Types

type Config

type Config struct {
	Param       *migrationparam.MigrationParam // Migration connection // 迁移连接
	ScriptsPath string                         // Path to migration scripts DIR // 迁移脚本目录路径
	Objects     []any                          // GORM model objects used in schema comparison // 用于结构比较的 GORM 模型对象
}

Config contains configuration options the status command needs Provides dependencies required when performing status inspection

Config 包含状态命令所需的配置选项 提供执行状态检查时所需的依赖

type Status

type Status struct {
	DatabaseVersion     uint     // Current database version // 当前数据库版本
	IsDirtyFlag         bool     // Database dirty state flag // 数据库脏状态标志
	HasMigrated         bool     // Migration applied flag // 迁移已应用标志
	LatestScriptVersion uint     // Latest version in scripts DIR // 脚本目录中的最新版本
	ScriptCount         int      // Count of migration scripts // 迁移脚本数量
	PendingCount        int      // Count of pending migrations // 待执行迁移数量
	HasUpToDate         bool     // Database is at latest version flag // 数据库已是最新版本标志
	PendingVersions     []uint   // List of pending migration versions // 待执行迁移版本列表
	SchemaDiffCount     int      // Count of schema differences // 结构差异数量
	SchemaDiffSQLs      []string // SQL statements showing schema differences // 结构差异的 SQL 语句
}

Status represents the current migration status Contains relevant information needed to understand migration state

Status 表示当前迁移状态 包含理解迁移状态所需的相关信息

func GetStatus

func GetStatus(db *gorm.DB, migration *migrate.Migrate, scriptsPath string, objects []any) (*Status, error)

GetStatus analyzes current migration state and returns comprehensive status Inspects database version, script versions and schema differences Returns Status struct containing relevant information

GetStatus 分析当前迁移状态并返回综合状态 检查数据库版本、脚本版本和结构差异 返回包含相关信息的 Status 结构

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL