mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-27 08:24:39 -07:00
initialize variables, cli>env>defaults, modern install/packaging, db migration script guard+logging
This commit is contained in:
parent
cb2d0c484b
commit
065924a729
2 changed files with 91 additions and 78 deletions
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
set -e
|
||||
|
||||
echo "::group::Check Servatrice database schema version"
|
||||
version_line="$(grep 'INSERT INTO cockatrice_schema_version' servatrice/servatrice.sql)"
|
||||
version_line="${version_line#*VALUES(}"
|
||||
declare -i schema_ver="${version_line%%)*}"
|
||||
|
|
@ -13,24 +14,30 @@ xtoy="${xtoysql%.sql}"
|
|||
declare -i old_ver="10#${xtoy%_to_*}" # declare as integer with base 10, numbers with a leading 0 are normally interpreted as base 16
|
||||
declare -i new_ver="10#${xtoy#*_to_}"
|
||||
|
||||
echo "Schema version: $schema_ver"
|
||||
echo "Latest migration: $latest_migration ($old_ver → $new_ver)"
|
||||
|
||||
if ((old_ver >= new_ver)); then
|
||||
echo "New version $new_ver is not newer than $old_ver"
|
||||
exit 1
|
||||
echo "New version $new_ver is not newer than $old_ver"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ((schema_ver != new_ver)); then
|
||||
echo "Schema version $schema_ver does not equal new version $new_ver"
|
||||
exit 1
|
||||
echo "Schema version $schema_ver does not match new version $new_ver"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
expected_sql="^UPDATE cockatrice_schema_version SET version=${new_ver} WHERE version=${old_ver};$"
|
||||
if ! grep -q "$expected_sql" "servatrice/migrations/$latest_migration"; then
|
||||
echo "$latest_migration does not contain expected sql: $expected_sql"
|
||||
exit 1
|
||||
echo "$latest_migration does not contain expected sql: $expected_sql"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
expected_define="^#define DATABASE_SCHEMA_VERSION $new_ver$"
|
||||
if ! grep -q "$expected_define" servatrice/src/servatrice_database_interface.h; then
|
||||
echo "servatrice_database_interface.h does not contain expected #define: $expected_define"
|
||||
exit 1
|
||||
echo "servatrice_database_interface.h does not contain expected #define: $expected_define"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo " ✓ Database schema version is consistent"
|
||||
echo "::endgroup::
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue