Submarine is a Common Lisp library that's somewhere between a PostgreSQL library and an object persistence
system. It uses Postmodern
to communicate with the database. The basic idea is that you create 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.
The author of Submarine is Ryszard Szopa.
The common-lisp.net webpage of the project is https://common-lisp.net/project/submarine/.