Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove the ability to rename columns with alter_column operations #603

Merged
merged 9 commits into from
Jan 17, 2025

Conversation

andrew-farries
Copy link
Collaborator

Remove the ability to rename columns with alter_column operations.

#602 added the rename_column operation as the preferred way to rename columns:

{
  "name": "13_rename_column",
  "operations": [
    {
      "rename_column": {
        "table": "employees",
        "from": "role",
        "to": "job_title"
      }
    }
  ]
}

As of this PR, rename_column operations are the only way to rename columns, with the ability to do so using alter_column operations removed.

This is a breaking change to the pgroll migrations format.

This is the second (and final) part of #601

Closes #601

@andrew-farries andrew-farries added the breaking-changes breaking changes to pgroll label Jan 17, 2025
@andrew-farries andrew-farries force-pushed the remove-rename-from-alter-column branch 2 times, most recently from 31866a2 to b3532cf Compare January 17, 2025 08:09
@andrew-farries andrew-farries marked this pull request as ready for review January 17, 2025 09:28
Base automatically changed from add-op-rename-column to main January 17, 2025 15:08
Most of the complexity of the `OpAlterColumn` operation was due to
handling renames in the same operation as other column changes. Now that
it's no longer possible to rename a column via `OpAlterColumn` most of
these JSON schema tests are no longer required.
The test used to rename a column, unnecessarily. Change the test so that
it no longer renames a column, and update the test expectations so that
it better tests the renaming of a (`CHECK`) constraint.
Move the `OpAlterColumn` tests that test the column rename operation in
combination with other operations to `OpRenameColumn` tests.

The tests are idenitical, with `OpAlterColumn` replaced with
`OpRenameColumn`.
@andrew-farries andrew-farries force-pushed the remove-rename-from-alter-column branch from b3532cf to 9d26a4e Compare January 17, 2025 15:09
@andrew-farries andrew-farries merged commit 3657bb5 into main Jan 17, 2025
28 checks passed
@andrew-farries andrew-farries deleted the remove-rename-from-alter-column branch January 17, 2025 15:12
kvch pushed a commit to kvch/pgroll that referenced this pull request Jan 20, 2025
…ataio#603)

Remove the ability to rename columns with `alter_column` operations.

xataio#602 added the `rename_column` operation as the preferred way to rename
columns:

```json
{
  "name": "13_rename_column",
  "operations": [
    {
      "rename_column": {
        "table": "employees",
        "from": "role",
        "to": "job_title"
      }
    }
  ]
}
```

As of this PR, `rename_column` operations are the only way to rename
columns, with the ability to do so using `alter_column` operations
removed.

This is a breaking change to the `pgroll` migrations format.

This is the second (and final) part of xataio#601 

Closes xataio#601
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-changes breaking changes to pgroll
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make column rename a separate operation and remove it from alter_column
2 participants