commit 9ee3c46e856c21998b4643a58622daa06da84ee8
parent 99b5c6c428026af8ac8c5fbf17e3cbc10d677a6f
Author: Christian Grothoff <grothoff@gnunet.org>
Date: Thu, 30 Nov 2023 15:18:29 +0900
-minor fixes
Diffstat:
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/contrib/libeufin-bank-dbconfig b/contrib/libeufin-bank-dbconfig
@@ -99,12 +99,17 @@ then
sudo -i -u postgres dropdb "$DBNAME"
else
echo "Database '$DBNAME' already exists."
- if ! echo "GRANT ALL PRIVILEGES ON $DBNAME TO '$DBUSER'" \
+ if ! echo "GRANT ALL PRIVILEGES ON DATABASE $DBNAME TO \"$DBUSER\"" \
| sudo -i -u postgres psql "$DBNAME"
then
echo "Failed to grant access to database '$DBNAME' to '$DBUSER'." 1>&2
exit 1
fi
+ if ! echo "GRANT ALL PRIVILEGES ON SCHEMA _v TO \"$DBUSER\"" \
+ | sudo -i -u postgres psql "$DBNAME"
+ then
+ echo "Failed to grant access to schema '_v' to '$DBUSER'. Maybe OK if it does not exist. Will continue." 1>&2
+ fi
fi
else
echo "Creating database $DBNAME." 1>&2
diff --git a/contrib/libeufin-nexus-dbconfig b/contrib/libeufin-nexus-dbconfig
@@ -104,6 +104,11 @@ then
echo "Failed to grant access to database '$DBNAME' to '$DBUSER'." 1>&2
exit 1
fi
+ if ! echo "GRANT ALL PRIVILEGES ON SCHEMA _v TO \"$DBUSER\"" \
+ | sudo -i -u postgres psql "$DBNAME"
+ then
+ echo "Failed to grant access to schema '_v' to '$DBUSER'. Maybe OK if it does not exist. Will continue." 1>&2
+ fi
fi
else
echo "Creating database $DBNAME." 1>&2
diff --git a/util/src/main/kotlin/DB.kt b/util/src/main/kotlin/DB.kt
@@ -196,9 +196,11 @@ fun initializeDatabaseTables(cfg: DatabaseConfig, sqlFilePrefix: String) {
logger.info("doing DB initialization, sqldir ${cfg.sqlDir}, dbConnStr ${cfg.dbConnStr}")
pgDataSource(cfg.dbConnStr).pgConnection().use { conn ->
conn.transaction {
+ // FIXME: evil hack, we should instead simply first check if _v exists!
val sqlVersioning = File("${cfg.sqlDir}/versioning.sql").readText()
- conn.execSQLUpdate(sqlVersioning)
-
+ try {
+ conn.execSQLUpdate(sqlVersioning)
+ } catch (e: SQLException) {}
val checkStmt = conn.prepareStatement("SELECT count(*) as n FROM _v.patches where patch_name = ?")
for (n in 1..9999) {