diff options
Diffstat (limited to 'schema/README')
-rw-r--r-- | schema/README | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/schema/README b/schema/README deleted file mode 100644 index 373169f..0000000 --- a/schema/README +++ /dev/null @@ -1,56 +0,0 @@ -This example shows how to map persistent C++ classes to a custom database -schema. In particular, it shows how to map all the commonly-used constructs, -including containers, object relationships, and composite value types. - -The example uses the shared_ptr smart pointer from TR1 and requires a C++ -compiler with TR1 support or an external TR1 implementation, such as the -one provided by Boost. - -The example consists of the following files: - -employee.hxx - Header file defining the 'employee' and 'employer' persistent classes - as well as the 'name' composite value type. ODB pragmas are used to - assign custom database tables to persistent classes as well as custom - database types and columns to data members. - -employee-odb.hxx -employee-odb.ixx -employee-odb.cxx - These files contain the database support code for the employee.hxx header - and are generated by the ODB compiler from employee.hxx using the following - command line: - - odb -d <database> --generate-query --default-pointer std::tr1::shared_ptr \ - employee.hxx - - Where <database> stands for the database system we are using, for example, - 'mysql'. - - The --default-pointer option is used to make TR1 shared_ptr the default - object pointer. - -database.hxx - Contains the create_database() function which instantiates the concrete - database class corresponding to the database system we are using. - -driver.cxx - Driver for the example. It includes the employee.hxx and employee-odb.hxx - headers to gain access to the persistent classes and their database support - code. It also includes database.hxx for the create_database() function - declaration. - - In main() the driver first calls create_database() to obtain the database - instance. It then programmatically creates the database schema by executing - a series of SQL statements. After that the driver creates a number of - 'employee' and 'employer' objects, sets the relationships between them, - and persists them in the database. Finally, the driver performs a database - query and prints the information about the returned objects. - -To run the driver, using MySQL as an example, we can execute the following -command: - -./driver --user odb_test --database odb_test - -Here we use 'odb_test' as the database login and also 'odb_test' as the -database name. |