From 4f86617855b58469f68c0730326b9251a380b74e Mon Sep 17 00:00:00 2001 From: Leif Battermann Date: Mon, 6 Dec 2021 10:46:00 +0000 Subject: [PATCH 1/5] migrate db, and git add schema un root using cabal --- Makefile | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a2015eba6f..478f03564c 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,8 @@ BUILDAH_PUSH ?= 0 KIND_CLUSTER_NAME := wire-server BUILDAH_KIND_LOAD ?= 1 +EXE_SCHEMA := ./dist/$(package)-schema + # This ensures that focused unit tests written in hspec fail. This is supposed # to help us avoid merging PRs with focused tests. This will not catch focused # integration tests as they are run in kubernetes where this Makefile doesn't @@ -75,6 +77,17 @@ else make -C services/$(package) i-$(pattern) endif +# reset db using cabal +.PHONY: db-reset-package +db-reset-package: c + $(EXE_SCHEMA) --keyspace $(package)_test --replication-factor 1 --reset + +# migrate db using cabal +# Usage: make db-migrate package=galley +.PHONY: db-migrate +db-migrate: c + $(EXE_SCHEMA) --keyspace $(package)_test --replication-factor 1 + # Build everything (Haskell services and nginz) .PHONY: services services: init install @@ -230,12 +243,18 @@ run-docker-builder: @echo "if this does not work, consider 'docker pull', 'docker tag', or 'make -C build-alpine builder'." docker run --workdir /wire-server -it $(DOCKER_DEV_NETWORK) $(DOCKER_DEV_VOLUMES) --rm $(DOCKER_DEV_IMAGE) /bin/bash -CASSANDRA_CONTAINER := $(shell docker ps | grep '/cassandra:' | perl -ne '/^(\S+)\s/ && print $$1') .PHONY: git-add-cassandra-schema -git-add-cassandra-schema: db-reset +git-add-cassandra-schema: db-reset git-add-cassandra-schema-impl + +CASSANDRA_CONTAINER := $(shell docker ps | grep '/cassandra:' | perl -ne '/^(\S+)\s/ && print $$1') +.PHONY: git-add-cassandra-schema-impl +git-add-cassandra-schema-impl: ( echo '-- automatically generated with `make git-add-cassandra-schema`' ; docker exec -i $(CASSANDRA_CONTAINER) /usr/bin/cqlsh -e "DESCRIBE schema;" ) > ./docs/reference/cassandra-schema.cql git add ./docs/reference/cassandra-schema.cql +.PHONY: git-add-cassandra-schema-cabal +git-add-cassandra-schema-cabal: db-reset-cabal git-add-cassandra-schema-impl + .PHONY: cqlsh cqlsh: @echo "make sure you have ./deploy/dockerephemeral/run.sh running in another window!" @@ -249,6 +268,14 @@ db-reset: make -C services/gundeck db-reset make -C services/spar db-reset +.PHONY: db-reset-cabal +db-reset-cabal: + @echo "make sure you have ./deploy/dockerephemeral/run.sh running in another window!" + ./dist/brig-schema --keyspace brig_test --replication-factor 1 --reset + ./dist/galley-schema --keyspace galley_test --replication-factor 1 --reset + ./dist/gundeck-schema --keyspace gundeck_test --replication-factor 1 --reset + ./dist/spar-schema --keyspace spar_test --replication-factor 1 --reset + ################################# ## dependencies From a487f3d4c73a8f0b2d6e3f3b4fa83f560eb0dad3 Mon Sep 17 00:00:00 2001 From: Stefan Matting Date: Mon, 6 Dec 2021 12:17:47 +0100 Subject: [PATCH 2/5] unify to db-reset target --- Makefile | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 478f03564c..ef4f5687d1 100644 --- a/Makefile +++ b/Makefile @@ -263,18 +263,17 @@ cqlsh: .PHONY: db-reset db-reset: @echo "make sure you have ./deploy/dockerephemeral/run.sh running in another window!" +ifeq ($(WIRE_BUILD_WITH_CABAL), 1) + make db-reset-package package=brig + make db-reset-package package=galley + make db-reset-package package=gundeck + make db-reset-package package=spar +else make -C services/brig db-reset make -C services/galley db-reset make -C services/gundeck db-reset make -C services/spar db-reset - -.PHONY: db-reset-cabal -db-reset-cabal: - @echo "make sure you have ./deploy/dockerephemeral/run.sh running in another window!" - ./dist/brig-schema --keyspace brig_test --replication-factor 1 --reset - ./dist/galley-schema --keyspace galley_test --replication-factor 1 --reset - ./dist/gundeck-schema --keyspace gundeck_test --replication-factor 1 --reset - ./dist/spar-schema --keyspace spar_test --replication-factor 1 --reset +endif ################################# ## dependencies From 37e6bbfd4d5aaaca71ac0cd68f5ce36535b94e79 Mon Sep 17 00:00:00 2001 From: Stefan Matting Date: Mon, 6 Dec 2021 12:18:35 +0100 Subject: [PATCH 3/5] change name to db-migrate-package for consistency --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ef4f5687d1..b01dac3bbd 100644 --- a/Makefile +++ b/Makefile @@ -85,7 +85,7 @@ db-reset-package: c # migrate db using cabal # Usage: make db-migrate package=galley .PHONY: db-migrate -db-migrate: c +db-migrate-package: c $(EXE_SCHEMA) --keyspace $(package)_test --replication-factor 1 # Build everything (Haskell services and nginz) From c8a63f7328112916814330b6de9e70ebc03835c8 Mon Sep 17 00:00:00 2001 From: Stefan Matting Date: Mon, 6 Dec 2021 12:18:57 +0100 Subject: [PATCH 4/5] Update doc --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index b01dac3bbd..dd7578fa17 100644 --- a/Makefile +++ b/Makefile @@ -83,6 +83,7 @@ db-reset-package: c $(EXE_SCHEMA) --keyspace $(package)_test --replication-factor 1 --reset # migrate db using cabal +# For using stack see the Makefile of the package, e.g. services/brig/Makefile # Usage: make db-migrate package=galley .PHONY: db-migrate db-migrate-package: c From f6ce6ac457e6121908fae37fa7af06f0b7a9630e Mon Sep 17 00:00:00 2001 From: Stefan Matting Date: Mon, 6 Dec 2021 12:20:58 +0100 Subject: [PATCH 5/5] fix mistake --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index dd7578fa17..fdea1fb99f 100644 --- a/Makefile +++ b/Makefile @@ -84,8 +84,8 @@ db-reset-package: c # migrate db using cabal # For using stack see the Makefile of the package, e.g. services/brig/Makefile -# Usage: make db-migrate package=galley -.PHONY: db-migrate +# Usage: make db-migrate-package package=galley +.PHONY: db-migrate-package db-migrate-package: c $(EXE_SCHEMA) --keyspace $(package)_test --replication-factor 1