migrations

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2025 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ExecCommand = exec.Command

ExecCommand is used to run external commands. It can be replaced in tests.

View Source
var Migrations = []Migration{
	{From: ">=1.0.0-0", To: ">=0.0.0-0", Functions: []MigrationFn{MigrateGoPkgs, MigrateDependencies}},
	{
		From: ">=2.0.0-0",
		To:   "<4.0.0-0",
		Functions: []MigrationFn{
			v3migrations.MigrateHandlerSignatures,
			v3migrations.MigrateViewBind,
			v3migrations.MigrateParserMethods,
			v3migrations.MigrateRedirectMethods,
			v3migrations.MigrateGenericHelpers,
			v3migrations.MigrateAddMethod,
			v3migrations.MigrateMimeConstants,
			v3migrations.MigrateLoggerTags,
			v3migrations.MigrateStaticRoutes,
			v3migrations.MigrateTrustedProxyConfig,
			v3migrations.MigrateMount,
			v3migrations.MigrateConfigListenerFields,
			v3migrations.MigrateListenerCallbacks,
			v3migrations.MigrateShutdownHook,
			v3migrations.MigrateListenMethods,
			v3migrations.MigrateContextMethods,
			v3migrations.MigrateCORSConfig,
			v3migrations.MigrateCSRFConfig,
			v3migrations.MigrateMonitorImport,
			v3migrations.MigrateUtilsImport,
			v3migrations.MigrateHealthcheckConfig,
			v3migrations.MigrateProxyTLSConfig,
			v3migrations.MigrateAppTestConfig,
			v3migrations.MigrateMiddlewareLocals,
			v3migrations.MigrateFilesystemMiddleware,
			v3migrations.MigrateLimiterConfig,
			v3migrations.MigrateCacheConfig,
			v3migrations.MigrateEnvVarConfig,
			v3migrations.MigrateSessionConfig,
			v3migrations.MigrateSessionExtractor,
			v3migrations.MigrateSessionStore,
			v3migrations.MigrateKeyAuthConfig,
			v3migrations.MigrateTimeoutConfig,
			v3migrations.MigrateBasicauthAuthorizer,
			v3migrations.MigrateBasicauthConfig,
			v3migrations.MigrateBasicauthStorePassword,
			v3migrations.MigrateReqHeaderParser,
			MigrateGoVersion("1.25"),
		},
	},
}

Migrations is a list of all migrations Example structure: {"from": ">=2.0.0", "to": "<=3.*.*", "fn": [MigrateFN, MigrateFN]}

Functions

func DoMigration

func DoMigration(cmd *cobra.Command, cwd string, curr, target *semver.Version, skipGoMod, verbose bool) error

DoMigration runs all migrations It will run all migrations that match the current and target version

func MigrateDependencies added in v0.4.0

func MigrateDependencies(cmd *cobra.Command, cwd string, _, target *semver.Version) error

MigrateDependencies ensures that dependencies shared with Fiber are at least the versions required by the target Fiber release.

It updates go.mod files that already require a dependency also required by Fiber, bumping the version when it is lower than Fiber's requirement. No changes are made if the existing version is equal or higher.

func MigrateGoPkgs

func MigrateGoPkgs(cmd *cobra.Command, cwd string, _, target *semver.Version) error

func MigrateGoVersion

func MigrateGoVersion(minVersion string) func(*cobra.Command, string, *semver.Version, *semver.Version) error

MigrateGoVersion ensures that all go.mod files referencing Fiber declare at least the provided Go version. Vendor directories are skipped.

Types

type Migration

type Migration struct {
	From      string
	To        string
	Functions []MigrationFn
}

Migration is a single migration

type MigrationFn

type MigrationFn func(cmd *cobra.Command, cwd string, curr, target *semver.Version) error

MigrationFn is a function that will be called during migration

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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