Je migreert data van de ene SQLite-database naar de andere en moet de resultaten verifiëren. Of je vergelijkt een staging-database met productie. Of je hebt twee versies van de database van een app en moet zien wat er is veranderd. In elk geval moet je twee databases tegelijk bekijken — en de meeste SQLite-tools maken dit moeilijker dan het zou moeten zijn.
Het jongleeract met tools voor één database
De meeste SQLite-browsers zijn ontworpen rond één databaseverbinding tegelijk. Om twee databases te vergelijken, open je handmatig twee aparte applicatievensters (als de tool dit al ondersteunt), of wissel je heen en weer tussen tabs terwijl je kolomwaarden in je geheugen probeert te houden. Sommige tools vereisen dat je één database sluit voordat je een andere opent.
De Terminal-aanpak is nog erger. Je hebt twee terminalvensters nodig, elk met sqlite3 tegen een ander bestand, terwijl je output in platte tekst naast elkaar probeert te vergelijken. Het werkt in theorie, maar valt uit elkaar bij enig echt datavolume.
Deze beperking bestaat omdat de meeste databasetools niet zijn ontworpen als documentgebaseerde toepassingen. Ze zijn ontworpen rond een verbindingsbeheerder — kies een database, werk ermee, verbreek de verbinding, kies een andere. Dat is prima voor databases op externe servers, maar onnodige wrijving voor lokale SQLite-bestanden.
Tome: een documentgebaseerde SQLite-viewer
Tome behandelt elke SQLite-database als een document — op dezelfde manier waarop TextEdit tekstbestanden behandelt of Voorvertoning pdf's. Open een database en het krijgt zijn eigen venster. Open nog een en dat krijgt ook zijn eigen venster. Rangschik ze naast elkaar, of gebruik native macOS-tabs om ze te groeperen.
Vergelijk databases visueel
Open je bron- en bestemmingsdatabase in twee vensters. Plaats ze naast elkaar met macOS Gesplitste weergave of door vensters te slepen. Blader door dezelfde tabel in beide om rijaantallen, kolomwaarden of schemaverschillen te vergelijken. Geen tabs wisselen, geen waarden onthouden.
Werk over projecten heen
Houd een referentiedatabase open terwijl je tegen een andere ontwikkelt. Heb de productiedatabase van je app open naast een test-fixturedatabase. Open het databasebestand van een klant terwijl je eigen bestand nog geladen is. Tome beperkt het aantal gelijktijdig geopende databases niet.
Volledige functieset in elk venster
Elk databasevenster heeft de complete Tome-interface — zijbalk met tabellen, views, indexen en triggers; dataraster met inline bewerking; SQL-query-editor met syntaxismarkering en auto-aanvulling. Er is geen concept van een "primaire" en "secundaire" database. Elke geopende database is volledig functioneel.