diff --git a/.gitignore b/.gitignore index eedac4f8..611e58f7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,9 @@ build/ monero-rpc-pool/temp_db.sqlite monero-rpc-pool/temp.db +# Shared temporary database for SQLx cache regeneration +tempdb.sqlite + # auto-generated files by swap-orchestrator swap-orchestrator/docker-compose.yml swap-orchestrator/config.toml diff --git a/swap/.sqlx/query-081c729a0f1ad6e4ff3e13d6702c946bc4d37d50f40670b4f51d2efcce595aa6.json b/.sqlx/query-081c729a0f1ad6e4ff3e13d6702c946bc4d37d50f40670b4f51d2efcce595aa6.json similarity index 100% rename from swap/.sqlx/query-081c729a0f1ad6e4ff3e13d6702c946bc4d37d50f40670b4f51d2efcce595aa6.json rename to .sqlx/query-081c729a0f1ad6e4ff3e13d6702c946bc4d37d50f40670b4f51d2efcce595aa6.json diff --git a/swap/.sqlx/query-0d465a17ebbb5761421def759c73cad023c30705d5b41a1399ef79d8d2571d7c.json b/.sqlx/query-0d465a17ebbb5761421def759c73cad023c30705d5b41a1399ef79d8d2571d7c.json similarity index 100% rename from swap/.sqlx/query-0d465a17ebbb5761421def759c73cad023c30705d5b41a1399ef79d8d2571d7c.json rename to .sqlx/query-0d465a17ebbb5761421def759c73cad023c30705d5b41a1399ef79d8d2571d7c.json diff --git a/swap/.sqlx/query-1f332be08a5426f3fbcadea4e755d82ff1cdc2690eb464ccc607d3a613fa76a1.json b/.sqlx/query-1f332be08a5426f3fbcadea4e755d82ff1cdc2690eb464ccc607d3a613fa76a1.json similarity index 100% rename from swap/.sqlx/query-1f332be08a5426f3fbcadea4e755d82ff1cdc2690eb464ccc607d3a613fa76a1.json rename to .sqlx/query-1f332be08a5426f3fbcadea4e755d82ff1cdc2690eb464ccc607d3a613fa76a1.json diff --git a/swap/.sqlx/query-2a356078a41b321234adf2aa385b501749f907f7c422945a8bdda2b6274f5225.json b/.sqlx/query-2a356078a41b321234adf2aa385b501749f907f7c422945a8bdda2b6274f5225.json similarity index 100% rename from swap/.sqlx/query-2a356078a41b321234adf2aa385b501749f907f7c422945a8bdda2b6274f5225.json rename to .sqlx/query-2a356078a41b321234adf2aa385b501749f907f7c422945a8bdda2b6274f5225.json diff --git a/monero-rpc-pool/.sqlx/query-4ce7c42906ba69e0c8e1c0dad952956edd582a0edecd45710e22dcb28785eeab.json b/.sqlx/query-4ce7c42906ba69e0c8e1c0dad952956edd582a0edecd45710e22dcb28785eeab.json similarity index 100% rename from monero-rpc-pool/.sqlx/query-4ce7c42906ba69e0c8e1c0dad952956edd582a0edecd45710e22dcb28785eeab.json rename to .sqlx/query-4ce7c42906ba69e0c8e1c0dad952956edd582a0edecd45710e22dcb28785eeab.json diff --git a/swap/.sqlx/query-50ef34b4efabe650d40096a390d9240b9a7cd62878dfaa6805563cfc21284cd5.json b/.sqlx/query-50ef34b4efabe650d40096a390d9240b9a7cd62878dfaa6805563cfc21284cd5.json similarity index 100% rename from swap/.sqlx/query-50ef34b4efabe650d40096a390d9240b9a7cd62878dfaa6805563cfc21284cd5.json rename to .sqlx/query-50ef34b4efabe650d40096a390d9240b9a7cd62878dfaa6805563cfc21284cd5.json diff --git a/swap/.sqlx/query-5cc61dd0315571bc198401a354cd9431ee68360941f341386cbacf44ea598de8.json b/.sqlx/query-5cc61dd0315571bc198401a354cd9431ee68360941f341386cbacf44ea598de8.json similarity index 100% rename from swap/.sqlx/query-5cc61dd0315571bc198401a354cd9431ee68360941f341386cbacf44ea598de8.json rename to .sqlx/query-5cc61dd0315571bc198401a354cd9431ee68360941f341386cbacf44ea598de8.json diff --git a/swap/.sqlx/query-6130b6cdd184181f890964eb460741f5cf23b5237fb676faed009106627a4ca6.json b/.sqlx/query-6130b6cdd184181f890964eb460741f5cf23b5237fb676faed009106627a4ca6.json similarity index 100% rename from swap/.sqlx/query-6130b6cdd184181f890964eb460741f5cf23b5237fb676faed009106627a4ca6.json rename to .sqlx/query-6130b6cdd184181f890964eb460741f5cf23b5237fb676faed009106627a4ca6.json diff --git a/monero-rpc-pool/.sqlx/query-7bc8d637e7cf020bff58d05109ae88e56672e95e0e638af99e82df5b00595e77.json b/.sqlx/query-7bc8d637e7cf020bff58d05109ae88e56672e95e0e638af99e82df5b00595e77.json similarity index 100% rename from monero-rpc-pool/.sqlx/query-7bc8d637e7cf020bff58d05109ae88e56672e95e0e638af99e82df5b00595e77.json rename to .sqlx/query-7bc8d637e7cf020bff58d05109ae88e56672e95e0e638af99e82df5b00595e77.json diff --git a/swap/.sqlx/query-7c37de52b3bb2ccd0868ccb861127416848d85eaebe8245c58d5beac7d537087.json b/.sqlx/query-7c37de52b3bb2ccd0868ccb861127416848d85eaebe8245c58d5beac7d537087.json similarity index 100% rename from swap/.sqlx/query-7c37de52b3bb2ccd0868ccb861127416848d85eaebe8245c58d5beac7d537087.json rename to .sqlx/query-7c37de52b3bb2ccd0868ccb861127416848d85eaebe8245c58d5beac7d537087.json diff --git a/monero-sys/.sqlx/query-7e58428584d28a238ab37a83662b88afcef6fc5246f11c85a35869f79da61c34.json b/.sqlx/query-7e58428584d28a238ab37a83662b88afcef6fc5246f11c85a35869f79da61c34.json similarity index 100% rename from monero-sys/.sqlx/query-7e58428584d28a238ab37a83662b88afcef6fc5246f11c85a35869f79da61c34.json rename to .sqlx/query-7e58428584d28a238ab37a83662b88afcef6fc5246f11c85a35869f79da61c34.json diff --git a/swap/.sqlx/query-88f761a4f7a0429cad1df0b1bebb1c0a27b2a45656549b23076d7542cfa21ecf.json b/.sqlx/query-88f761a4f7a0429cad1df0b1bebb1c0a27b2a45656549b23076d7542cfa21ecf.json similarity index 100% rename from swap/.sqlx/query-88f761a4f7a0429cad1df0b1bebb1c0a27b2a45656549b23076d7542cfa21ecf.json rename to .sqlx/query-88f761a4f7a0429cad1df0b1bebb1c0a27b2a45656549b23076d7542cfa21ecf.json diff --git a/monero-rpc-pool/.sqlx/query-9047f0683f1cf956e9b367b4e85d61fe0ca4b4f7a6ae5986025601b2000565d9.json b/.sqlx/query-9047f0683f1cf956e9b367b4e85d61fe0ca4b4f7a6ae5986025601b2000565d9.json similarity index 100% rename from monero-rpc-pool/.sqlx/query-9047f0683f1cf956e9b367b4e85d61fe0ca4b4f7a6ae5986025601b2000565d9.json rename to .sqlx/query-9047f0683f1cf956e9b367b4e85d61fe0ca4b4f7a6ae5986025601b2000565d9.json diff --git a/monero-sys/.sqlx/query-a679f789c90ede34cd840d23d90087520dcf1777fdf4cc3ed7aab0c9d70d060c.json b/.sqlx/query-a679f789c90ede34cd840d23d90087520dcf1777fdf4cc3ed7aab0c9d70d060c.json similarity index 100% rename from monero-sys/.sqlx/query-a679f789c90ede34cd840d23d90087520dcf1777fdf4cc3ed7aab0c9d70d060c.json rename to .sqlx/query-a679f789c90ede34cd840d23d90087520dcf1777fdf4cc3ed7aab0c9d70d060c.json diff --git a/swap/.sqlx/query-b703032b4ddc627a1124817477e7a8e5014bdc694c36a14053ef3bb2fc0c69b0.json b/.sqlx/query-b703032b4ddc627a1124817477e7a8e5014bdc694c36a14053ef3bb2fc0c69b0.json similarity index 100% rename from swap/.sqlx/query-b703032b4ddc627a1124817477e7a8e5014bdc694c36a14053ef3bb2fc0c69b0.json rename to .sqlx/query-b703032b4ddc627a1124817477e7a8e5014bdc694c36a14053ef3bb2fc0c69b0.json diff --git a/monero-rpc-pool/.sqlx/query-b96b866cfc801e275e39e788993d26f6dba1a17a0dee265333c4ae5817ff1e55.json b/.sqlx/query-b96b866cfc801e275e39e788993d26f6dba1a17a0dee265333c4ae5817ff1e55.json similarity index 100% rename from monero-rpc-pool/.sqlx/query-b96b866cfc801e275e39e788993d26f6dba1a17a0dee265333c4ae5817ff1e55.json rename to .sqlx/query-b96b866cfc801e275e39e788993d26f6dba1a17a0dee265333c4ae5817ff1e55.json diff --git a/monero-rpc-pool/.sqlx/query-d32d91ca2debc4212841282533482b2ff081234c7f9f848a7223ae04234995d9.json b/.sqlx/query-d32d91ca2debc4212841282533482b2ff081234c7f9f848a7223ae04234995d9.json similarity index 100% rename from monero-rpc-pool/.sqlx/query-d32d91ca2debc4212841282533482b2ff081234c7f9f848a7223ae04234995d9.json rename to .sqlx/query-d32d91ca2debc4212841282533482b2ff081234c7f9f848a7223ae04234995d9.json diff --git a/swap/.sqlx/query-d78acba5eb8563826dd190e0886aa665aae3c6f1e312ee444e65df1c95afe8b2.json b/.sqlx/query-d78acba5eb8563826dd190e0886aa665aae3c6f1e312ee444e65df1c95afe8b2.json similarity index 100% rename from swap/.sqlx/query-d78acba5eb8563826dd190e0886aa665aae3c6f1e312ee444e65df1c95afe8b2.json rename to .sqlx/query-d78acba5eb8563826dd190e0886aa665aae3c6f1e312ee444e65df1c95afe8b2.json diff --git a/swap/.sqlx/query-dff8b986c3dde27b8121775e48a58564fa346b038866699210a63f8a33b03f0b.json b/.sqlx/query-dff8b986c3dde27b8121775e48a58564fa346b038866699210a63f8a33b03f0b.json similarity index 100% rename from swap/.sqlx/query-dff8b986c3dde27b8121775e48a58564fa346b038866699210a63f8a33b03f0b.json rename to .sqlx/query-dff8b986c3dde27b8121775e48a58564fa346b038866699210a63f8a33b03f0b.json diff --git a/swap/.sqlx/query-e05620f420f8c1022971eeb66a803323a8cf258cbebb2834e3f7cf8f812fa646.json b/.sqlx/query-e05620f420f8c1022971eeb66a803323a8cf258cbebb2834e3f7cf8f812fa646.json similarity index 100% rename from swap/.sqlx/query-e05620f420f8c1022971eeb66a803323a8cf258cbebb2834e3f7cf8f812fa646.json rename to .sqlx/query-e05620f420f8c1022971eeb66a803323a8cf258cbebb2834e3f7cf8f812fa646.json diff --git a/swap/.sqlx/query-e36c287aa98ae80ad4b6bb6f7e4b59cced041406a9db71da827b09f0d3bacfd6.json b/.sqlx/query-e36c287aa98ae80ad4b6bb6f7e4b59cced041406a9db71da827b09f0d3bacfd6.json similarity index 100% rename from swap/.sqlx/query-e36c287aa98ae80ad4b6bb6f7e4b59cced041406a9db71da827b09f0d3bacfd6.json rename to .sqlx/query-e36c287aa98ae80ad4b6bb6f7e4b59cced041406a9db71da827b09f0d3bacfd6.json diff --git a/swap/.sqlx/query-e9d422daf774d099fcbde6c4cda35821da948bd86cc57798b4d8375baf0b51ae.json b/.sqlx/query-e9d422daf774d099fcbde6c4cda35821da948bd86cc57798b4d8375baf0b51ae.json similarity index 100% rename from swap/.sqlx/query-e9d422daf774d099fcbde6c4cda35821da948bd86cc57798b4d8375baf0b51ae.json rename to .sqlx/query-e9d422daf774d099fcbde6c4cda35821da948bd86cc57798b4d8375baf0b51ae.json diff --git a/justfile b/justfile index b563c457..912dc8a1 100644 --- a/justfile +++ b/justfile @@ -87,6 +87,9 @@ bindings: fmt: dprint fmt +generate-sqlx-cache: + ./regenerate_sqlx_cache.sh + # Run eslint for the GUI frontend check_gui_eslint: cd src-gui && yarn run eslint diff --git a/monero-sys/regenerate_sqlx_cache.sh b/monero-sys/regenerate_sqlx_cache.sh deleted file mode 100755 index be4dd69f..00000000 --- a/monero-sys/regenerate_sqlx_cache.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash - -# regenerate_sqlx_cache.sh -# -# Script to regenerate SQLx query cache for monero-rpc-pool -# -# This script: -# 1. Creates a temporary SQLite database in a temp directory -# 2. Runs all database migrations to set up the schema -# 3. Regenerates the SQLx query cache (.sqlx directory) -# 4. Cleans up temporary files automatically -# -# Usage: -# ./regenerate_sqlx_cache.sh -# -# Requirements: -# - cargo and sqlx-cli must be installed -# - Must be run from the monero-rpc-pool directory -# - migrations/ directory must exist with valid migration files -# -# The generated .sqlx directory should be committed to version control -# to enable offline compilation without requiring DATABASE_URL. - -set -e # Exit on any error - -echo "๐Ÿ”„ Regenerating SQLx query cache..." - -# Create a temporary directory for the database -TEMP_DIR=$(mktemp -d) -TEMP_DB="$TEMP_DIR/temp_sqlx_cache.sqlite" -DATABASE_URL="sqlite:$TEMP_DB" - -echo "๐Ÿ“ Using temporary database: $TEMP_DB" - -# Function to cleanup on exit -cleanup() { - echo "๐Ÿงน Cleaning up temporary files..." - rm -rf "$TEMP_DIR" -} -trap cleanup EXIT - -# Export DATABASE_URL for sqlx commands -export DATABASE_URL - -echo "๐Ÿ—„๏ธ Creating database..." -cargo sqlx database create - -echo "๐Ÿ”„ Running migrations..." -cargo sqlx migrate run - -echo "โšก Preparing SQLx query cache..." -cargo sqlx prepare - -echo "โœ… SQLx query cache regenerated successfully!" -echo "๐Ÿ“ The .sqlx directory has been updated with the latest query metadata." -echo "๐Ÿ’ก Make sure to commit the .sqlx directory to version control." \ No newline at end of file diff --git a/monero-rpc-pool/regenerate_sqlx_cache.sh b/regenerate_sqlx_cache.sh similarity index 71% rename from monero-rpc-pool/regenerate_sqlx_cache.sh rename to regenerate_sqlx_cache.sh index be4dd69f..31159c73 100755 --- a/monero-rpc-pool/regenerate_sqlx_cache.sh +++ b/regenerate_sqlx_cache.sh @@ -5,10 +5,10 @@ # Script to regenerate SQLx query cache for monero-rpc-pool # # This script: -# 1. Creates a temporary SQLite database in a temp directory +# 1. Creates a temporary SQLite database in the workspace root # 2. Runs all database migrations to set up the schema # 3. Regenerates the SQLx query cache (.sqlx directory) -# 4. Cleans up temporary files automatically +# 4. Cleans up temporary database file automatically # # Usage: # ./regenerate_sqlx_cache.sh @@ -25,19 +25,15 @@ set -e # Exit on any error echo "๐Ÿ”„ Regenerating SQLx query cache..." -# Create a temporary directory for the database -TEMP_DIR=$(mktemp -d) -TEMP_DB="$TEMP_DIR/temp_sqlx_cache.sqlite" +WORKSPACE_ROOT="$(pwd)" + +# Use shared temporary database in workspace root +TEMP_DB="$WORKSPACE_ROOT/tempdb.sqlite" DATABASE_URL="sqlite:$TEMP_DB" -echo "๐Ÿ“ Using temporary database: $TEMP_DB" +rm -f "$TEMP_DB" -# Function to cleanup on exit -cleanup() { - echo "๐Ÿงน Cleaning up temporary files..." - rm -rf "$TEMP_DIR" -} -trap cleanup EXIT +echo "๐Ÿ“ Using temporary database: $TEMP_DB" # Export DATABASE_URL for sqlx commands export DATABASE_URL @@ -45,11 +41,13 @@ export DATABASE_URL echo "๐Ÿ—„๏ธ Creating database..." cargo sqlx database create -echo "๐Ÿ”„ Running migrations..." -cargo sqlx migrate run +for dir in swap monero-sys monero-rpc-pool; do + echo "๐Ÿ”„ Running migrations in $dir..." + (cd "$WORKSPACE_ROOT/$dir" && cargo sqlx migrate run --ignore-missing) +done echo "โšก Preparing SQLx query cache..." -cargo sqlx prepare +cargo sqlx prepare --workspace echo "โœ… SQLx query cache regenerated successfully!" echo "๐Ÿ“ The .sqlx directory has been updated with the latest query metadata." diff --git a/swap/sqlite_dev_setup.sh b/swap/sqlite_dev_setup.sh deleted file mode 100755 index a30adaff..00000000 --- a/swap/sqlite_dev_setup.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -# run this script from the swap dir -# make sure you have sqlx-cli installed: cargo install --version 0.6.3 sqlx-cli -# it's advised for the sqlx-cli to be the same version as specified in cargo.toml - -# this script creates a temporary sqlite database -# then runs the migration scripts to create the tables (migrations folder) -# then it prepares the offline sqlx-data.json rust mappings -DATABASE_URL=sqlite:tempdb cargo sqlx database create -DATABASE_URL=sqlite:tempdb cargo sqlx migrate run -# needs the absolute path here -# https://github.com/launchbadge/sqlx/issues/1399 -DB_PATH=$(readlink -f tempdb) -DATABASE_URL="sqlite:$DB_PATH" cargo sqlx prepare -- --bin swap