mirror of
https://github.com/dolthub/dolt.git
synced 2026-04-21 11:29:51 -05:00
diff sql supports col renames
This commit is contained in:
+1
-1
@@ -129,7 +129,7 @@ teardown() {
|
||||
[[ "$output" = "" ]] || false
|
||||
}
|
||||
|
||||
@test "diff sql output reconciles column rename" { skip
|
||||
@test "diff sql output reconciles column rename" {
|
||||
|
||||
dolt checkout -b firstbranch
|
||||
dolt table create -s=`batshelper 1pk5col-ints.schema` test
|
||||
|
||||
@@ -441,36 +441,42 @@ func diffSchemas(tableName string, sch1 schema.Schema, sch2 schema.Schema, dArgs
|
||||
cli.Println("ALTER TABLE", tableName, "DROP", sql.QuoteIdentifier(dff.Old.Name), ";")
|
||||
}
|
||||
case diff.SchDiffColModified:
|
||||
// changed in sch2
|
||||
oldType, err := dtypes.NomsKindToSqlTypeString(dff.Old.Kind)
|
||||
if err != nil {
|
||||
return errhand.BuildDError("error: failed to diff schemas").AddCause(err).Build()
|
||||
if dArgs.diffOutput == SQLDiffOutput {
|
||||
oldColName := sql.QuoteIdentifier(dff.Old.Name)
|
||||
newColName := sql.QuoteIdentifier(dff.New.Name)
|
||||
cli.Println("ALTER TABLE", tableName, "RENAME COLUMN", oldColName, "TO", newColName, ";")
|
||||
} else {
|
||||
// changed in sch2
|
||||
oldType, err := dtypes.NomsKindToSqlTypeString(dff.Old.Kind)
|
||||
if err != nil {
|
||||
return errhand.BuildDError("error: failed to diff schemas").AddCause(err).Build()
|
||||
}
|
||||
newType, err := dtypes.NomsKindToSqlTypeString(dff.New.Kind)
|
||||
if err != nil {
|
||||
return errhand.BuildDError("error: failed to diff schemas").AddCause(err).Build()
|
||||
}
|
||||
|
||||
n0, t0 := dff.Old.Name, oldType
|
||||
n1, t1 := dff.New.Name, newType
|
||||
|
||||
nameLen := 0
|
||||
typeLen := 0
|
||||
|
||||
if n0 != n1 {
|
||||
n0 = color.YellowString(n0)
|
||||
n1 = color.YellowString(n1)
|
||||
nameLen = mathutil.Max(len(n0), len(n1))
|
||||
}
|
||||
|
||||
if t0 != t1 {
|
||||
t0 = color.YellowString(t0)
|
||||
t1 = color.YellowString(t1)
|
||||
typeLen = mathutil.Max(len(t0), len(t1))
|
||||
}
|
||||
|
||||
cli.Println("< " + sql.FmtColWithNameAndType(2, nameLen, typeLen, n0, t0, *dff.Old))
|
||||
cli.Println("> " + sql.FmtColWithNameAndType(2, nameLen, typeLen, n1, t1, *dff.New))
|
||||
}
|
||||
newType, err := dtypes.NomsKindToSqlTypeString(dff.New.Kind)
|
||||
if err != nil {
|
||||
return errhand.BuildDError("error: failed to diff schemas").AddCause(err).Build()
|
||||
}
|
||||
|
||||
n0, t0 := dff.Old.Name, oldType
|
||||
n1, t1 := dff.New.Name, newType
|
||||
|
||||
nameLen := 0
|
||||
typeLen := 0
|
||||
|
||||
if n0 != n1 {
|
||||
n0 = color.YellowString(n0)
|
||||
n1 = color.YellowString(n1)
|
||||
nameLen = mathutil.Max(len(n0), len(n1))
|
||||
}
|
||||
|
||||
if t0 != t1 {
|
||||
t0 = color.YellowString(t0)
|
||||
t1 = color.YellowString(t1)
|
||||
typeLen = mathutil.Max(len(t0), len(t1))
|
||||
}
|
||||
|
||||
cli.Println("< " + sql.FmtColWithNameAndType(2, nameLen, typeLen, n0, t0, *dff.Old))
|
||||
cli.Println("> " + sql.FmtColWithNameAndType(2, nameLen, typeLen, n1, t1, *dff.New))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user