Compatability

Semantic versioning

Compatability

Operation

Compatability

Tables

Patch

Minor

Major

  • Creating a new table
  • Adding a new column
  • Changing the default of an existing column
  • Removing an existing constraint
  • Dropping a table
  • Renaming a table
  • Adding a new constraint to an existing column
  • Removing a column
  • Renaming a column
  • Changing a column's type

Views

Patch

Minor

Major

Stored procedures

Patch

Minor

Major

  • Replacing an existing stored procedure without changing the type signature
  • Creating a new stored procedure
  • Deleting a stored procedure
  • Renaming a stored procedure
  • Changing the type signature of a stored procedure

Access

Patch

Minor

Major

  • Creating a new user or role
  • Granting new permissions to an existing user or role
  • Deleting an existing user or role
  • Revoking permissions for an existing user or role

Rows

Patch

Minor

Major

  • Inserting a row
  • Updating a row
  • Deleting a row

Managing compatibility

Scream testing

Decoupling with views