JJ: Description from the destination commit:
cp sql/ from GNU Taler exchange JJ: Description from source commit: add sql Makefile
This commit is contained in:
parent
4749bb7c62
commit
4d37a3e58b
5 changed files with 94 additions and 1 deletions
87
include/sql/Makefile
Normal file
87
include/sql/Makefile
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
# TODO
|
||||
# - make test
|
||||
# - PostgreSQL configuration (host, port, username, password, ..)
|
||||
# - gitsubmodules?
|
||||
|
||||
# usage:
|
||||
# `make create_database`
|
||||
# create a `taler-exchange` database
|
||||
# `make fetch_source`
|
||||
# fetch all *.sql and *.sql.in files from GNU Taler exchange repository (latest commit)
|
||||
# file `exchangedb.version` contains hash of latest commit that changed
|
||||
# something in exchange/src/exchangedb
|
||||
# `make init`
|
||||
# initialize taler-exchange database (create tables, ...)
|
||||
# `taler-exchange` database must already be created
|
||||
fetch_source:
|
||||
git clone https://git.taler.net/exchange.git/ ./exchange
|
||||
cp ./exchange/src/exchangedb/*.sql ./
|
||||
cp ./exchange/src/exchangedb/*.sql.in ./
|
||||
git -C ./exchange log -n 1 --pretty=format:%H ./src/exchangedb > exchangedb.version
|
||||
rm -rf ./exchange
|
||||
|
||||
clean_source:
|
||||
rm -f ./*.sql
|
||||
rm -f ./*.sql.in
|
||||
|
||||
dbname := taler-exchange
|
||||
sql_INIT := init.sql
|
||||
sql_DROP := drop.sql
|
||||
|
||||
sql_DATA := \
|
||||
versioning.sql \
|
||||
exchange-0001.sql \
|
||||
exchange-0002.sql \
|
||||
exchange-0003.sql \
|
||||
exchange-0004.sql \
|
||||
exchange-0005.sql \
|
||||
procedures.sql
|
||||
|
||||
procedures.sql: procedures.sql.in exchange_do_*.sql exchange_statistics_*.sql exchange_trigger_*.sql
|
||||
chmod +w $@ 2> /dev/null || true
|
||||
gcc -E -P -undef - < procedures.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
|
||||
chmod ugo-w $@
|
||||
|
||||
exchange-0002.sql: exchange-0002.sql.in 0002-*.sql
|
||||
chmod +w $@ 2> /dev/null || true
|
||||
gcc -E -P -undef - < exchange-0002.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
|
||||
chmod ugo-w $@
|
||||
|
||||
exchange-0003.sql: exchange-0003.sql.in 0003-*.sql
|
||||
chmod +w $@ 2> /dev/null || true
|
||||
gcc -E -P -undef - < exchange-0003.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
|
||||
chmod ugo-w $@
|
||||
|
||||
exchange-0004.sql: exchange-0004.sql.in 0004-*.sql
|
||||
chmod +w $@ 2> /dev/null || true
|
||||
gcc -E -P -undef - < exchange-0004.sql.in 2>/dev/null | sed -e "s/--.*//" | awk 'NF' - >$@
|
||||
chmod ugo-w $@
|
||||
|
||||
gen_sql: procedures.sql exchange-0002.sql exchange-0003.sql exchange-0004.sql
|
||||
|
||||
.DEFAULT_GOAL := gen_init
|
||||
gen_init: gen_sql $(sql_DATA)
|
||||
@printf "" > $(sql_INIT)
|
||||
@cat $(sql_DATA) >> $(sql_INIT)
|
||||
|
||||
clean:
|
||||
rm -f procedures.sql
|
||||
rm -f exchange-0002.sql
|
||||
rm -f exchange-0003.sql
|
||||
rm -f exchange-0004.sql
|
||||
rm $(sql_INIT)
|
||||
|
||||
# "NOTICE: function xxx() does not exist, skipping" are normal and expected
|
||||
init: gen_init
|
||||
psql --host=localhost --port=5432 --username=mte --password --dbname=$(dbname) --file=$(sql_INIT)
|
||||
|
||||
drop:
|
||||
psql --host=localhost --port=5432 --username=mte --password --dbname=$(dbname) --file=$(sql_DROP)
|
||||
|
||||
create_database:
|
||||
createdb --host=localhost --port=5432 --username=mte --password $(dbname)
|
||||
|
||||
drop_database:
|
||||
dropdb --host=localhost --port=5432 --username=mte --password $(dbname)
|
||||
|
||||
reset_database: drop_database create_database
|
||||
1
include/sql/exchangedb.version
Normal file
1
include/sql/exchangedb.version
Normal file
|
|
@ -0,0 +1 @@
|
|||
2305679765fb14b82512b5140ae113d9633109c8
|
||||
Loading…
Add table
Add a link
Reference in a new issue