63 lines
1.9 KiB
Bash
63 lines
1.9 KiB
Bash
|
|
#!/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"
|