Create basic make commands for configuring golang-migrate (#16938)

* Create basic make commands for configuring golang-migrate

* Showcase full flow with new migrations

* Apply PR suggestions

* Migrate over team members

* Update mocks

* Fix specs

* Move columns that added after table creation onto separate stmts

* Put back gorp table definitions

* Fix issues with golang-migrate that not tracks underlying db driver

* Help prompt after new migration and consistent checksum for bindata

* Put gorp mapping back

* Apply PR suggestiong

* Close migrations after they run

* Add migration file to bindata check

* Updates needed

* Reset store_test

* Add copyright

* Apply PR suggestions

* Fix new circleci check

* Put back upgrade step for backwards comp

* Add store test to test migration directions

* Apply PR suggestions

* Add go-bindata to tools

* Apply PR suggestios

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
John Tzikas
2021-02-23 16:22:31 +02:00
коммит произвёл GitHub
родитель 6d320ce9a0
Коммит 809affd6d1
64 изменённых файлов: 6834 добавлений и 199 удалений

Просмотреть файл

@@ -1,4 +1,4 @@
.PHONY: build package run stop run-client run-server run-haserver stop-client stop-server restart restart-server restart-client restart-haserver start-docker clean-dist clean nuke check-style check-client-style check-server-style check-unit-tests test dist prepare-enteprise run-client-tests setup-run-client-tests cleanup-run-client-tests test-client build-linux build-osx build-windows internal-test-web-client vet run-server-for-web-client-tests diff-config prepackaged-plugins prepackaged-binaries test-server test-server-ee test-server-quick test-server-race start-docker-check
.PHONY: build package run stop run-client run-server run-haserver stop-client stop-server restart restart-server restart-client restart-haserver start-docker clean-dist clean nuke check-style check-client-style check-server-style check-unit-tests test dist prepare-enteprise run-client-tests setup-run-client-tests cleanup-run-client-tests test-client build-linux build-osx build-windows internal-test-web-client vet run-server-for-web-client-tests diff-config prepackaged-plugins prepackaged-binaries test-server test-server-ee test-server-quick test-server-race start-docker-check migrations-bindata new-migration migration-prereqs
ROOT := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
@@ -250,6 +250,24 @@ telemetry-mocks: ## Creates mock files.
store-layers: ## Generate layers for the store
$(GO) generate $(GOFLAGS) ./store
migration-prereqs: ## Builds prerequisite packages for migrations
$(GO) get -modfile=go.tools.mod github.com/golang-migrate/migrate/v4/cmd/migrate
new-migration: migration-prereqs ## Creates a new migration
@echo "Generating new migration for mysql"
$(GOBIN)/migrate create -ext sql -dir db/migrations/mysql -seq $(name)
@echo "Generating new migration for postgres"
$(GOBIN)/migrate create -ext sql -dir db/migrations/postgres -seq $(name)
@echo "When you are done writing your migration, run 'make migrations'"
migrations-bindata: ## Generates bindata migrations
$(GO) get -modfile=go.tools.mod github.com/go-bindata/go-bindata/...
@echo Generating bindata for migrations
$(GO) generate $(GOFLAGS) ./db/migrations/
filesstore-mocks: ## Creates mock files.
$(GO) get -modfile=go.tools.mod github.com/vektra/mockery/...
$(GOBIN)/mockery -dir services/filesstore -all -output services/filesstore/mocks -note 'Regenerate this file using `make filesstore-mocks`.'