summaryrefslogtreecommitdiff
path: root/scripts/schema_changed.sh
blob: 2fcb85df75b12e2c325466dca38c572b8c8e8632 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh

if [ -n "$(git diff --name-only -- db/structure.sql)" ]; then
  printf "Schema changes are not cleanly committed to db/structure.sql\n"
  printf "The diff is as follows:\n"
  diff=$(git diff -p --binary -- db/structure.sql)
  printf "%s" "$diff"
  exit 1
else
  printf "Schema changes are correctly applied to db/structure.sql\n"
fi

if [ -n "$(git add -A -n db/schema_migrations)" ]; then
  printf "Schema version files have not been committed to the repository:\n"
  printf "The following files should be committed:\n"
  diff=$(git add -A -n db/schema_migrations)
  printf "%s" "$diff"
  exit 2
else
  printf "Schema changes are correctly applied to db/structure.sql and db/schema_migrations/\n"
fi