Terraform provider for managing SQL schemas using migrations.
This plugin uses rubenv/sql-migrate, it is recommended to go read how it works before using this provider.
Build the provider and put it in Terraform's third-party providers directory in ~/.terraform.d/plugins
:
go get github.com/FindHotel/terraform-provider-sql
mkdir -p ~/.terraform.d/plugins
go build -o ~/.terraform.d/plugins/terraform-provider-sql github.com/FindHotel/terraform-provider-sql
go get github.com/FindHotel/terraform-provider-sql
mkdir -p ~/.terraform.d/plugins
go build -o ~/.terraform.d/plugins/<your-module-url-specified-in-tf-file>/<version-specified-in-tf-file>/linux_amd64/terraform-provider-sql github.com/FindHotel/terraform-provider-sql
I recommend using Go modules to ensure using the same version in development and production.
In your Terraform configuration:
resource "sql_schema" "this" {
driver = "<database driver>" # mysql/postgres/cloudsql/cloudsqlpostgres
datasource = "<database connection string>"
directory = "migrations" # optional
table = "schema_migrations" # optional
}