Skip to content

Commit

Permalink
Fix error message of column rename (#292)
Browse files Browse the repository at this point in the history
  • Loading branch information
SferaDev committed Feb 29, 2024
1 parent 0746ba6 commit 0aebb50
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 21 deletions.
2 changes: 1 addition & 1 deletion pkg/migrations/op_rename_column.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func (o *OpRenameColumn) Validate(ctx context.Context, s *schema.Schema) error {
table := s.GetTable(o.Table)

if table.GetColumn(o.To) != nil {
return ColumnAlreadyExistsError{Table: o.Table, Name: o.From}
return ColumnAlreadyExistsError{Table: o.Table, Name: o.To}
}

return nil
Expand Down
58 changes: 38 additions & 20 deletions pkg/migrations/op_rename_column_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,31 @@ import (
func TestRenameColumn(t *testing.T) {
t.Parallel()

ExecuteTests(t, TestCases{{
name: "rename column",
migrations: []migrations.Migration{
{
Name: "01_add_table",
Operations: migrations.Operations{
&migrations.OpCreateTable{
Name: "users",
Columns: []migrations.Column{
{
Name: "id",
Type: "serial",
Pk: ptr(true),
},
{
Name: "username",
Type: "varchar(255)",
Nullable: ptr(false),
},
},
addTableMigration := migrations.Migration{
Name: "01_add_table",
Operations: migrations.Operations{
&migrations.OpCreateTable{
Name: "users",
Columns: []migrations.Column{
{
Name: "id",
Type: "serial",
Pk: ptr(true),
},
{
Name: "username",
Type: "varchar(255)",
Nullable: ptr(false),
},
},
},
},
}

ExecuteTests(t, TestCases{{
name: "rename column",
migrations: []migrations.Migration{
addTableMigration,
{
Name: "02_rename_column",
Operations: migrations.Operations{
Expand Down Expand Up @@ -78,5 +80,21 @@ func TestRenameColumn(t *testing.T) {
{"id": 2, "name": "bob"},
}, rows)
},
}, {
name: "column must not exist",
migrations: []migrations.Migration{
addTableMigration,
{
Name: "02_rename_column",
Operations: migrations.Operations{
&migrations.OpAlterColumn{
Table: "users",
Column: "username",
Name: ptr("id"),
},
},
},
},
wantStartErr: migrations.ColumnAlreadyExistsError{Table: "users", Name: "id"},
}})
}

0 comments on commit 0aebb50

Please sign in to comment.