You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							164 lines
						
					
					
						
							4.9 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							164 lines
						
					
					
						
							4.9 KiB
						
					
					
				| #!/bin/bash | |
|  | |
| # TimeSafari Database Clearing Script | |
| # Author: Matthew Raymer | |
| # Date: 2025-07-11 | |
| 
 | |
| set -e | |
| 
 | |
| echo "=== TimeSafari Database Clearing Script ===" | |
| echo "" | |
| 
 | |
| # Detect platform | |
| if [[ "$OSTYPE" == "linux-gnu"* ]]; then | |
|     PLATFORM="linux" | |
| elif [[ "$OSTYPE" == "darwin"* ]]; then | |
|     PLATFORM="macos" | |
| elif [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "cygwin" ]]; then | |
|     PLATFORM="windows" | |
| else | |
|     PLATFORM="unknown" | |
| fi | |
| 
 | |
| echo "Detected platform: $PLATFORM" | |
| echo "" | |
| 
 | |
| # Function to clear Electron database | |
| clear_electron_database() { | |
|     echo "🧹 Clearing Electron Database..." | |
|      | |
|     local db_path="" | |
|     case $PLATFORM in | |
|         "linux") | |
|             db_path="$HOME/Databases/TimeSafari" | |
|             ;; | |
|         "macos") | |
|             db_path="$HOME/Library/Application Support/TimeSafari" | |
|             ;; | |
|         "windows") | |
|             db_path="$APPDATA/TimeSafari" | |
|             ;; | |
|         *) | |
|             echo "❌ Unknown platform: $PLATFORM" | |
|             exit 1 | |
|             ;; | |
|     esac | |
|      | |
|     if [[ -d "$db_path" ]]; then | |
|         echo "Found database at: $db_path" | |
|         echo "Removing database files..." | |
|         rm -rf "$db_path"/* | |
|         echo "✅ Electron database cleared successfully!" | |
|     else | |
|         echo "ℹ️  No database found at: $db_path" | |
|         echo "   (This is normal if you haven't run the app yet)" | |
|     fi | |
| } | |
| 
 | |
| # Function to show web browser instructions | |
| show_web_instructions() { | |
|     echo "🌐 Web Browser Database Clearing Instructions:" | |
|     echo "" | |
|     echo "For reliable database clearing in web browsers, use a custom data directory:" | |
|     echo "" | |
|      | |
|     case $PLATFORM in | |
|         "linux") | |
|             echo "📁 Create custom data directory:" | |
|             echo "   mkdir -p ~/timesafari-dev-data" | |
|             echo "" | |
|             echo "🚀 Start browser with custom data directory:" | |
|             echo "   # Chrome/Chromium:" | |
|             echo "   google-chrome --user-data-dir=~/timesafari-dev-data" | |
|             echo "   # Firefox:" | |
|             echo "   firefox --profile ~/timesafari-dev-data" | |
|             echo "" | |
|             echo "🧹 Clear database:" | |
|             echo "   rm -rf ~/timesafari-dev-data" | |
|             ;; | |
|         "macos") | |
|             echo "📁 Create custom data directory:" | |
|             echo "   mkdir -p ~/timesafari-dev-data" | |
|             echo "" | |
|             echo "🚀 Start browser with custom data directory:" | |
|             echo "   # Chrome:" | |
|             echo "   /Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome --user-data-dir=~/timesafari-dev-data" | |
|             echo "   # Firefox:" | |
|             echo "   /Applications/Firefox.app/Contents/MacOS/firefox --profile ~/timesafari-dev-data" | |
|             echo "" | |
|             echo "🧹 Clear database:" | |
|             echo "   rm -rf ~/timesafari-dev-data" | |
|             ;; | |
|         "windows") | |
|             echo "📁 Create custom data directory:" | |
|             echo "   mkdir %USERPROFILE%\\timesafari-dev-data" | |
|             echo "" | |
|             echo "🚀 Start browser with custom data directory:" | |
|             echo "   # Chrome:" | |
|             echo "   \"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\" --user-data-dir=%USERPROFILE%\\timesafari-dev-data" | |
|             echo "   # Firefox:" | |
|             echo "   \"C:\\Program Files\\Mozilla Firefox\\firefox.exe\" --profile %USERPROFILE%\\timesafari-dev-data" | |
|             echo "" | |
|             echo "🧹 Clear database:" | |
|             echo "   rmdir /s /q %USERPROFILE%\\timesafari-dev-data" | |
|             ;; | |
|     esac | |
| } | |
| 
 | |
| # Function to show manual browser clearing | |
| show_manual_browser_clearing() { | |
|     echo "🔧 Manual Browser Database Clearing:" | |
|     echo "" | |
|     echo "If you prefer to use your regular browser profile:" | |
|     echo "" | |
|     echo "1. Open browser Developer Tools (F12)" | |
|     echo "2. Go to Application/Storage tab" | |
|     echo "3. Find 'IndexedDB' section" | |
|     echo "4. Delete 'TimeSafari' database" | |
|     echo "5. Refresh the page" | |
|     echo "" | |
|     echo "⚠️  Note: This only clears the current site's data." | |
|     echo "   For complete clearing, use the custom data directory method above." | |
| } | |
| 
 | |
| # Main script logic | |
| echo "Choose your platform:" | |
| echo "1. Electron (Desktop App)" | |
| echo "2. Web Browser - Custom Data Directory" | |
| echo "3. Web Browser - Manual Clearing" | |
| echo "4. Show all options" | |
| echo "" | |
| 
 | |
| read -p "Enter your choice (1-4): " choice | |
| 
 | |
| case $choice in | |
|     1) | |
|         clear_electron_database | |
|         ;; | |
|     2) | |
|         show_web_instructions | |
|         ;; | |
|     3) | |
|         show_manual_browser_clearing | |
|         ;; | |
|     4) | |
|         echo "=== All Database Clearing Options ===" | |
|         echo "" | |
|         clear_electron_database | |
|         echo "" | |
|         show_web_instructions | |
|         echo "" | |
|         show_manual_browser_clearing | |
|         ;; | |
|     *) | |
|         echo "❌ Invalid choice. Please run the script again." | |
|         exit 1 | |
|         ;; | |
| esac | |
| 
 | |
| echo "" | |
| echo "✅ Database clearing instructions completed!" | |
| echo "" | |
| echo "💡 Tip: After clearing the database, restart your development server:" | |
| echo "   npm run build:electron:dev    # For Electron" | |
| echo "   npm run build:web:dev         # For Web"  |