Files
bamort/backend/transfer_sqlite_to_mariadb.sh
2026-01-25 21:57:58 +01:00

63 lines
1.9 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Script to transfer data from SQLite test database to MariaDB using the maintenance endpoint
# Usage: ./transfer_sqlite_to_mariadb.sh [clear]
BACKEND_URL="http://localhost:8180"
ENDPOINT="/api/maintenance/transfer-sqlite-to-mariadb"
echo "=== BaMoRT Data Transfer: SQLite to MariaDB ==="
echo ""
# Check if clear parameter is provided
CLEAR_PARAM=""
if [ "$1" == "clear" ]; then
echo "⚠️ WARNING: This will clear all existing data in MariaDB before transfer!"
read -p "Are you sure you want to continue? (y/N): " confirm
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
echo "Transfer cancelled."
exit 0
fi
CLEAR_PARAM="?clear=true"
echo "✅ Proceeding with data clearing..."
else
echo "️ Existing data in MariaDB will be preserved (use 'clear' parameter to clear first)"
fi
echo ""
echo "🔄 Starting data transfer..."
echo "📍 Source: ./testdata/prepared_test_data.db (SQLite)"
echo "📍 Target: mariadb:3306/bamort (MariaDB)"
echo ""
# Make the API request
echo "🚀 Calling transfer endpoint..."
response=$(curl -s -w "\n%{http_code}" -X POST "${BACKEND_URL}${ENDPOINT}${CLEAR_PARAM}")
# Extract HTTP status code (last line)
http_code=$(echo "$response" | tail -n1)
# Extract response body (all lines except last)
response_body=$(echo "$response" | head -n -1)
echo ""
if [ "$http_code" = "200" ]; then
echo "✅ Transfer completed successfully!"
echo ""
echo "📊 Response:"
echo "$response_body" | jq '.' 2>/dev/null || echo "$response_body"
else
echo "❌ Transfer failed with HTTP status: $http_code"
echo ""
echo "📋 Error details:"
echo "$response_body" | jq '.' 2>/dev/null || echo "$response_body"
exit 1
fi
echo ""
echo "🎉 Data transfer complete!"
echo ""
echo "💡 Tips:"
echo " - Check the statistics above to verify the transfer"
echo " - Use the backend logs for detailed information"
echo " - Update your .env file to use MariaDB if needed"