aboutsummaryrefslogtreecommitdiff
path: root/schema/README
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-02-25 12:07:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-02-25 12:07:33 +0200
commit2ef165437ce47f50110a9b230f302c5cd5fde1d4 (patch)
treeb1b7c14b9b264e8571ec37c3098c8763ef655ca2 /schema/README
parent10d9fed7123cdc7fd9287d2cf6fea8c40c2402a0 (diff)
Add support for examples in subdirectories
Move the schema example to schema/custom.
Diffstat (limited to 'schema/README')
-rw-r--r--schema/README56
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.