Submarine is a Common Lisp library that's somewhere between a PostgreSQL library an an object persistency system. It uses Postmodern to communicate with the database. The basic idea is that you create
... [More] your classes in the metaclass DB-CLASS and submarine cares about creating SQL tables or, if the tables already exist, checking if they conform to the provided specification. Moreover, Submarine supports an intuitive way of expressing both one-to-many and many-to-many relations. [Less]
Postmodern is a Common Lisp library for interacting with PostgreSQL databases. Features are:
* Efficient communication with the database server without need for foreign libraries.
*
... [More] Support for UTF-8 on Unicode-aware Lisp implementations
* A lispy syntax for expressing SQL queries
* Convenient support for prepared statements and stored procedures
* Defclass-like definition of tables and associated accessor classes
The biggest differences between this library and CLSQL/CommonSQL are that postmodern has no intention of being portable across different SQL implementations (it embraces non-standard Postgres features), and approaches extensions like lispy SQL and database access objects in a quite different way. This library was written because the CLSQL approach did not really work for me, your mileage may vary. [Less]