stripe / pg-schema-diff

Go library for diffing Postgres schemas and generating SQL migrations
MIT License
316 stars 23 forks source link

Add test cases for functional indexes #146

Closed alexaub-stripe closed 1 month ago

alexaub-stripe commented 1 month ago

Description

Adds test cases to cover functional indexes to ensure that we test them in perpetuity.

A callout: under the hood the apply generates with a type cast for the input to the lower function (which only accepts text not varchar) which is different from the user provided definition without the cast. I think this doesn't trip up the tests and is desirable behavior because in reality pg-schema-diff is diffing schema that's been applied and read from a test database, not the user provided schema, so that type cast is always present.

Let me know if those empty line cleanup diffs should be removed. That's something my editor did.

Motivation

We want to use functional indexes. pg-schema-diff already does, but it's preferable to ensure it's covered by tests.

Testing

CI