diff --git a/cmd/go_migrate/main.go b/cmd/go_migrate/main.go index 35151db..0901bca 100644 --- a/cmd/go_migrate/main.go +++ b/cmd/go_migrate/main.go @@ -1,7 +1,6 @@ package main import ( - _ "github.com/microsoft/go-mssqldb" log "github.com/sirupsen/logrus" ) @@ -20,7 +19,7 @@ var migrationJobs []MigrationJob = []MigrationJob{ func main() { configureLog() log.Info("Starting migration...") - log.Debugf("Migration jobs: %+v", migrationJobs) + // log.Debugf("Migration jobs: %+v", migrationJobs) sourceDb, targetDb, connError := connectToDatabases() if connError != nil { @@ -31,22 +30,9 @@ func main() { defer targetDb.Close() for _, job := range migrationJobs { - sourceColTypes, targetColTypes, err := GetColumnTypes(sourceDb, targetDb, job) - if err != nil { - log.Fatal("Unexpected error: ", err) - } - - logColumnTypes(sourceColTypes, "Source col types") - logColumnTypes(targetColTypes, "Target col types") + log.Infof("Processing job: %+v", job) + processMigrationJob(sourceDb, targetDb, job) } log.Info("Migration completed successfully!") } - -func logColumnTypes(columnTypes []ColumnType, label string) { - log.Info(label) - - for _, col := range columnTypes { - log.Infof("%+v", col) - } -} diff --git a/cmd/go_migrate/process.go b/cmd/go_migrate/process.go new file mode 100644 index 0000000..5f88812 --- /dev/null +++ b/cmd/go_migrate/process.go @@ -0,0 +1,27 @@ +package main + +import ( + "database/sql" + "github.com/jackc/pgx/v5/pgxpool" + + _ "github.com/microsoft/go-mssqldb" + log "github.com/sirupsen/logrus" +) + +func processMigrationJob(sourceDb *sql.DB, targetDb *pgxpool.Pool, job MigrationJob) { + sourceColTypes, targetColTypes, err := GetColumnTypes(sourceDb, targetDb, job) + if err != nil { + log.Fatal("Unexpected error: ", err) + } + + logColumnTypes(sourceColTypes, "Source col types") + logColumnTypes(targetColTypes, "Target col types") +} + +func logColumnTypes(columnTypes []ColumnType, label string) { + log.Info(label) + + for _, col := range columnTypes { + log.Infof("%+v", col) + } +}