odb - object-relational mapping (ORM) compiler for C++


odb [options] file [file...]


Given a set of C++ classes in a header file, odb generates C++ code that allows you to persist, query, and update objects of these classes in a relational database (RDBMS). The relational database that the generated code should target is specified with the required --database option (see below).

For an input file in the form name.hxx (other file extensions can be used instead of .hxx), in the single-database mode (the default), the generated C++ files by default have the following names: name-odb.hxx (header file), name-odb.ixx (inline file), and name-odb.cxx (source file). Additionally, if the --generate-schema option is specified and the sql schema format is requested (see --schema-format), the name.sql database schema file is generated. If the separate schema format is requested, the database creation code is generated into the separate name-schema.cxx file.

In the multi-database mode (see the --multi-database option below), the generated files corresponding to the common database have the same names as in the single-database mode. For other databases, the file names include the database name: name-odb-db.hxx, name-odb-db.ixx, name-odb-db.cxx, name-db.sql, and name-schema-db.cxx (where db is the database name).