A modern, cross-platform SQL database structure comparison tool built with Electron.
You didn't work as you should an now you Databases differ from each other? This tool will save your ass.
- π Compare SQL Database Structures - Import and compare two SQL database structure files
- π Visual Comparison - Modern, intuitive interface showing differences clearly
- ποΈ Generate CREATE TABLE Queries - Automatically generate CREATE TABLE statements for missing tables
- π§ Generate ALTER Queries - Automatically generate ALTER TABLE statements for missing columns
- π± Cross-Platform - Runs on Windows, macOS, and Linux
- π¨ Modern UI - Clean, responsive design with dark mode support
- π File Support - Drag-and-drop or browse to import .sql files
- π Export Reports - Save comparison results as SQL files
- ποΈ Detailed Table View - Click to view complete structure of missing tables
Download the latest release for your platform from GitHub Releases:
- Windows:
SQompare-Setup-1.2.1.exe(installer) orSQompare-1.2.1.exe(portable) - macOS:
SQompare-1.2.1.dmg(should work, I don't have a macOS device and your overlords don't allow to build it somewhere else) - Linux:
SQompare-1.2.1.AppImage(portable) orSQompare-1.2.1-x86_64.flatpak(Flatpak package)
AppImage (Recommended for most users):
# Make executable and run
chmod +x SQompare-1.2.1.AppImage
./SQompare-1.2.1.AppImageFlatpak:
# Install the Flatpak package
flatpak install SQompare-1.2.1-x86_64.flatpak
# Run SQompare
flatpak run com.sqompare.app- Node.js (v16 or higher)
- npm or yarn
- Clone or download this repository
- Navigate to the project directory
- Install dependencies:
npm installRun the app in development mode:
npm run devBuild the application for your platform:
# Build for current platform
npm run build
# Build for specific platforms
npm run build:win # Windows (exe installer & portable)
npm run build:mac # macOS (dmg)
npm run build:linux # Linux (both AppImage and Flatpak)
npm run build:linux-appimage # Linux AppImage only
npm run build:linux-flatpak # Linux Flatpak only (requires Linux system)This project uses GitHub Actions to automatically build releases for all platforms:
- Windows builds: Built on Windows runners
- Linux AppImage: Built on Ubuntu runners (cross-platform compatible)
- Linux Flatpak: Built on Ubuntu runners with Flatpak installed
- Releases: Automatically created when pushing version tags (e.g.,
v1.0.0)
- Windows builds: Can be built on Windows, macOS, or Linux
- macOS builds: Must be built on macOS (requires Xcode)
- Linux AppImage: Can be built on any platform
- Linux Flatpak: Must be built on Linux (requires Flatpak runtime)
- Windows: Creates both installer and portable executables in
dist/ - macOS: Creates DMG package in
dist/ - Linux: Creates AppImage and/or Flatpak packages in
dist/
For AppImage (works on any platform):
npm run build:linux-appimageFor Flatpak (Linux only):
# Install Flatpak and flatpak-builder (Ubuntu/Debian)
sudo apt install flatpak flatpak-builder
# Install Flatpak and flatpak-builder (Fedora)
sudo dnf install flatpak flatpak-builder
# Then build the Flatpak package
npm run build:linux-flatpakTo create a new release with automated builds:
- Update the version in
package.json - Create and push a version tag:
git tag v1.0.0 git push origin v1.0.0
- GitHub Actions will automatically build all platforms and create a release
npm run build:linux
- Import SQL Files: Use the drag-and-drop areas or browse buttons to import two SQL database structure files
- Compare: Click the "Compare Structures" button to analyze differences
- Review Results: View missing tables, columns, and matching structures in the results section
- View Table Details: Click the "View" button next to missing tables to see their complete structure
- Generate CREATE Queries: Switch to the "CREATE Tables" tab to see the generated CREATE TABLE statements
- Generate ALTER Queries: Switch to the "ALTER Queries" tab to see the generated ALTER TABLE statements
- Export: Save the comparison report or copy queries to clipboard
- CREATE TABLE statements
- Column definitions with data types
- NULL/NOT NULL constraints
- DEFAULT values
- AUTO_INCREMENT columns
- Primary keys and indexes (basic support)
SQompare/
βββ src/
β βββ main.js # Electron main process
β βββ preload.js # Preload script for security
β βββ index.html # Main application HTML
β βββ styles.css # Application styles
β βββ app.js # Main application logic
β βββ sql-parser.js # SQL parsing and comparison logic
β βββ assets/ # Application assets
βββ package.json # Project configuration
βββ README.md # This file
- Electron - Cross-platform desktop app framework
- HTML/CSS/JavaScript - Frontend technologies
- Node.js - Backend runtime
- electron-builder - Application packaging
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details
For issues, questions, or feature requests, please create an issue in the project repository.
SQompare - Making database structure comparison simple and elegant.
