feat: refactor migration job to use preSQL and postSQL from TargetTable; update config structure for job definitions

This commit is contained in:
2026-04-21 12:30:40 -05:00
parent bd51223855
commit 9964ef819b
3 changed files with 15 additions and 15 deletions

View File

@@ -82,10 +82,10 @@ func processMigrationJob(
return result
}
preSqlQueries := job.PreSQL
preSqlQueries := job.TargetTable.PreSQL
if job.TruncateTarget {
truncateQuery := buildTruncateQuery(targetDbType, job.TargetTable.Schema, job.TargetTable.Table, job.TruncateMethod)
preSqlQueries = append([]string{truncateQuery}, job.PreSQL...)
preSqlQueries = append([]string{truncateQuery}, job.TargetTable.PreSQL...)
}
for _, query := range preSqlQueries {
@@ -238,7 +238,7 @@ func processMigrationJob(
cancel()
}()
for _, query := range job.PostSQL {
for _, query := range job.TargetTable.PostSQL {
if _, err := targetDbWrapper.Exec(localCtx, query); err != nil {
result.Error = err
return result

View File

@@ -28,8 +28,8 @@ jobs:
target:
schema: Cartografia
table: MANZANA
pre_sql:
- 'SELECT 1'
pre_sql:
- 'SELECT 1'
range:
min: 1000000
max: 2000000
@@ -45,7 +45,7 @@ jobs:
target:
schema: Red
table: PUERTO
pre_sql:
- 'SELECT 1'
post_sql:
- "SELECT 1"
pre_sql:
- 'SELECT 1'
post_sql:
- "SELECT 1"

View File

@@ -33,15 +33,17 @@ type TableInfo struct {
Table string `yaml:"table"`
}
type TargetTableInfo struct {
TableInfo `yaml:",inline"`
}
type SourceTableInfo struct {
TableInfo `yaml:",inline"`
PrimaryKey string `yaml:"primary_key"`
}
type TargetTableInfo struct {
TableInfo `yaml:",inline"`
PreSQL []string `yaml:"pre_sql"`
PostSQL []string `yaml:"post_sql"`
}
type RangeConfig struct {
Min int64 `yaml:"min"`
Max int64 `yaml:"max"`
@@ -54,8 +56,6 @@ type Job struct {
Enabled bool `yaml:"enabled"`
SourceTable SourceTableInfo `yaml:"source"`
TargetTable TargetTableInfo `yaml:"target"`
PreSQL []string `yaml:"pre_sql"`
PostSQL []string `yaml:"post_sql"`
JobConfig `yaml:",inline"`
Range RangeConfig `yaml:"range"`
}