package main import ( _ "github.com/microsoft/go-mssqldb" log "github.com/sirupsen/logrus" ) type MigrationJob struct { Schema string Table string } var migrationJobs []MigrationJob = []MigrationJob{ { Schema: "Cartografia", Table: "MANZANA", }, } func main() { configureLog() log.Info("Starting migration...") log.Debugf("Migration jobs: %+v", migrationJobs) sourceDb, targetDb, connError := connectToDatabases() if connError != nil { log.Fatal("Connection error: ", connError) } defer sourceDb.Close() 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.Info("Migration completed successfully!") } func logColumnTypes(columnTypes []ColumnType, label string) { log.Info(label) for _, col := range columnTypes { log.Infof("%+v", col) } }