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:
swrup 2025-11-11 10:03:07 +01:00
parent 4749bb7c62
commit 4d37a3e58b
5 changed files with 94 additions and 1 deletions

2
.gitignore vendored
View file

@ -1 +1,3 @@
_build _build
include/sql/*.sql
include/sql/*.sql.in

87
include/sql/Makefile Normal file
View 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

View file

@ -0,0 +1 @@
2305679765fb14b82512b5140ae113d9633109c8

View file

@ -23,3 +23,5 @@ let test req server _ =
let str = Fmt.str "Database error: %a." Caqti_error.pp err in let str = Fmt.str "Database error: %a." Caqti_error.pp err in
let* () = Vif.Response.with_string req str in let* () = Vif.Response.with_string req str in
Vif.Response.respond `Internal_server_error Vif.Response.respond `Internal_server_error
let init = test

View file

@ -113,7 +113,8 @@ let routes =
get (rel /?? nil) --> hello; get (rel / "terms" /?? nil) --> Static.terms; get (rel /?? nil) --> hello; get (rel / "terms" /?? nil) --> Static.terms;
get (rel / "privacy" /?? nil) --> Static.privacy; get (rel / "privacy" /?? nil) --> Static.privacy;
get (rel / "management" / "keys" /?? nil) --> Management.keys; get (rel / "management" / "keys" /?? nil) --> Management.keys;
get (rel / "db" /?? nil) --> Database.test; get (rel / "db_test" /?? nil) --> Database.test;
get (rel / "db_init" /?? nil) --> Database.init;
] ]
let () = let () =