diff options
| author | 2024-07-15 11:12:56 +0200 | |
|---|---|---|
| committer | 2024-07-15 11:12:56 +0200 | |
| commit | 9adcce9494ab4f19ec92b54e9cb17293a62a3fa7 (patch) | |
| tree | 68722c5e90d4b08b9ed1f64d87ef8950dee45084 /internal | |
| parent | [chore] Go mod tidy / vendor (#3100) (diff) | |
| download | gotosocial-9adcce9494ab4f19ec92b54e9cb17293a62a3fa7.tar.xz | |
[chore] add step-by-step logging to long migration (#3102)
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/db/bundb/migrations/20240620074530_interaction_policy.go | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/internal/db/bundb/migrations/20240620074530_interaction_policy.go b/internal/db/bundb/migrations/20240620074530_interaction_policy.go index 424039a52..e45db9382 100644 --- a/internal/db/bundb/migrations/20240620074530_interaction_policy.go +++ b/internal/db/bundb/migrations/20240620074530_interaction_policy.go @@ -31,6 +31,7 @@ import (  func init() {  	up := func(ctx context.Context, db *bun.DB) error {  		log.Info(ctx, "migrating statuses and account settings to interaction policy model, please wait...") +		log.Warn(ctx, "**WITH A LARGE DATABASE / LOWER SPEC MACHINE, THIS MIGRATION MAY TAKE A VERY LONG TIME (an hour or even longer); DO NOT INTERRUPT IT!**")  		return db.RunInTx(ctx, nil, func(ctx context.Context, tx bun.Tx) error {  			// Add new columns for interaction @@ -134,6 +135,7 @@ func init() {  					args = append(args, bun.Safe(spec.defaultVal))  				} +				log.Infof(ctx, "adding column '%s' to '%s'...", spec.column, spec.table)  				if _, err := tx.ExecContext(ctx, qStr, args...); err != nil {  					return err  				} @@ -143,6 +145,7 @@ func init() {  			// with non-default old flags set.  			oldStatuses := []oldmodel.Status{} +			log.Info(ctx, "migrating existing statuses to new visibility model...")  			if err := tx.  				NewSelect().  				Model(&oldStatuses). @@ -218,6 +221,7 @@ func init() {  				"boostable",  			}  			for _, column := range oldColumns { +				log.Infof(ctx, "dropping now-unused status column '%s'; this may take a while if you have lots of statuses in your database...", column)  				if _, err := tx.  					NewDropColumn().  					Table("statuses"). @@ -228,6 +232,7 @@ func init() {  			}  			// Add new indexes. +			log.Info(ctx, "adding new index 'statuses_pending_approval_idx' to 'statuses'...")  			if _, err := tx.  				NewCreateIndex().  				Table("statuses"). @@ -238,6 +243,7 @@ func init() {  				return err  			} +			log.Info(ctx, "adding new index 'status_faves_pending_approval_idx' to 'status_faves'...")  			if _, err := tx.  				NewCreateIndex().  				Table("status_faves"). @@ -248,6 +254,7 @@ func init() {  				return err  			} +			log.Info(ctx, "committing transaction, almost done...")  			return nil  		})  	}  | 
