A few things I have learned:
- DDL (Data Definition Language) varies significantly from one SQL implementation to another.
- It is much easier and faster to maintain an application for a single database backend rather than across many.
libgdais great when you are designing an application specifically meant to manage arbitrary databases.libgdais overkill when all you need is to maintain a simple, local embedded database.- SQLite is fast, lightweight, well-documented, and backed by an active IRC support community.
- Keep database-related code restricted to as few source files as possible.
- The SQLite source code is an excellent reference for understanding how to implement commands like
.import. - Using Git (or any modern version control system) saves an enormous amount of time.