I'm a huge fan of SQLite. However one limitation I've run across is a good UI to admin it or develop for it. Right now I use something called "SQLite Administrator" (Orbmu2k) which is both really nice in some ways but super buggy...
Anyone found anything better? And, yes, I know it ships with command line tools but particularly for development it is nicer to have a GUI to quickly set up tables.
Gosh I adore using Base, to the point where I choose SQLite over Postgres/MySQL more times than not, because its interface makes working with a joy. Sequel Pro and PG Commander are good, but not as good (well, the former is pretty close, but then you're using MySQL which I just find painful these days).
Firefox uses SQLite for a bunch of internal data and the bindings are accessible to extensions. So basically Firefox is a cross-OS platform that's guaranteed to be linked against SQLite, with public bindings.
It probably works better than many of the Java-based 'cross-platform' solutions to many problems...
Mozilla took a stance against WebSQL because there was essentially no "standards specification" for it. The standard has rather been defined by its implementation: SQLite. Obviously, this SQLite is a very pragmatic solution, but Mozilla wasn't just happy with something that couldn't have an alternative and therefore permanently constrained. Instead they implemented [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_A...), which is an open standard. However, indexed DB is not a relational SQL store and is therefore less familiar to developers. Instead, it is transactional indexed key-value store on which it is possible to develop an SQL or other type of store.
Using Adminer [1] and running it via `php -S localhost:8080 adminer.php` works beautifully. I also use Adminer to manage my Postgresql databases on my Mac.
I can recommend Adminer as well, it's just a single PHP file. The GUI is minimalistic but intuitive and very fast. The best part is probably the support for 8 database systems (MySQL, PostgreSQL, SQLite, MS SQL, Oracle, SimpleDB, Elasticsearch, MongoDB) and 30+ localizations, so you can use the same GUI for all your databases. Although probably not all drivers support all the features, as far as I know SQLite, Postgres and MySQL are essentially 100% covered (Don't know about others, since I don't use them).
Related... anyone know what happened to Induction? https://github.com/Induction/Induction looks like the guy who started it lost interest and no one picked it up?
Intellij IDEA Ultimate (or any of their other paid IDE tools) has a built in cross-db GUI tool for editing, creating and modeling databases. If using Intellij IDEA, it also has support for SQLite on Android, which is a huge benefit if you ever had to deal with SQLite on Android.
Aside from that, the IDE will also detect SQL queries in one's code and syntax check them. It also lets you run the query directly from there with user generated parameters without having to execute the code file itself.
P.D: Just because is a commercial product down vote the parent? In this area (Sql managers) the commercial ones are better than the open source ones, by a LOT.
Yep, sometimes one has to part with a few quid to get the job done right and friction free. That aside, my mainstream MySQL utility is HeidiSQL which is in fact free and open source (although I did bung them a donation because I think it's a neat tool):
We are using custom build of sqlite (more db columns, returned columns) and for us a ui that either calls some .exe or loads .dll is preffered.
My favourite was SqliteSpy but its statically linked, so had to switch to sqlitebrowser, and compile it with our own custom build of qt5 where "system" sqlite (our custom one) is used.
Maybe one good case where DLL/.so/.dylib shine (if only golang... :) )
> Maybe one good case where DLL/.so/.dylib shine (if only golang... :) )
Possibly, but it's mostly only useful if you can't recompile the app (i.e. don't have source).
And in that case, you've probably paid money for it, and want support. Which you won't get if you've swapped out a component for one it wasn't tested with.
[But I agree with your general point. DLL search path/LD_LIBRARY_PATH can be a useful 'speed hack' to drop in a different lib with an identical API and minor tweaks. e.g. overload malloc/free/realloc() in some misbehaving app to trace a problem without recompiling.]
Anyone found anything better? And, yes, I know it ships with command line tools but particularly for development it is nicer to have a GUI to quickly set up tables.