xataio / pgroll

PostgreSQL zero-downtime migrations made easy

Home Page:https://www.xata.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Errors during backfill don't cause a rollback

andrew-farries opened this issue · comments

To reproduce:

  • Run the following pair of migrations:
{
  "name": "01_create_table",
  "operations": [
    {
      "create_table": {
        "name": "users",
        "columns": [
          {
            "name": "id",
            "type": "serial",
            "pk": true
          },
          {
            "name": "name",
            "type": "varchar(255)",
            "unique": true
          }
        ]
      }
    }
  ]
}
{
  "name": "02_change_type",
  "operations": [
    {
      "alter_column": {
        "up": "invalid",
        "down": "invalid",
        "type": "text",
        "table": "users",
        "column": "name"
      }
    }
  ]
}

Expected behaviour:

  • The second migration fails during the backfill step and is rolled back. Further migrations are able to be run against the users table.

Actual behaviour:

  • The second migration is not rolled back, blocking further migrations against the users table.