transformdb(1)transformdb(1)NAMEtransformdb - The Freeze database migration tool.
SYNOPSIStransformdb-o FILE [-i] [slice-options] [type-options]
Generates descriptors in FILE for a database.
transformdb-o FILE [-i] [slice-options] DBENV
Generates descriptors in FILE for all databases in the environ‐
ment DBENV.
transformdb [options] [slice-options] [type-options] DBENV DB NEWDBENV
Transform the database DB in the environment DBENV. A database
of the same name is created in the environment NEWDBENV.
transformdb [options] [slice-options] DBENV NEWDBENV
Transform all databases from the environment DBENV into the
environment NEWDBENV.
DESCRIPTION
The FreezeScript tool transformdb migrates a database created by a
Freeze map or evictor. It accomplishes this by comparing the "old"
Slice definitions (i.e., the ones that describe the current contents of
the database) with the "new" Slice definitions, and making whatever
modifications are necessary to ensure that the transformed database is
compatible with the new definitions. Full documentation for transfor‐
mdb is available online at:
"http://doc.zeroc.com/display/Ice/Using+transformdb".
OPTIONS-h, --help
Displays a help message.
-v, --version
Displays the Ice version.
-DNAME
Defines the preprocessor symbol NAME.
-DNAME=DEF
Defines the preprocessor symbol NAME with the value DEF.
-UNAME
Undefines the preprocessor symbol NAME.
-IDIR
Add the directory DIR to the search path for #include direc‐
tives.
-E
Print the preprocessor output on stdout.
--output-dir DIR
Place the generated files into directory DIR.
-d, --debug
Print debug information showing the operation of the Slice
parser.
--ice
Permit use of the normally reserved prefix Ice for identifiers.
Use this option only when compiling the source code for the Ice
run time.
--underscore
Permit use of underscores in Slice identifiers.
--old SLICE
--new SLICE
Loads the old or new Slice definitions contained in the file
SLICE. These options may be specified multiple times if several
files must be loaded. However, it is the user's responsibility
to ensure that duplicate definitions do not occur (which is pos‐
sible when two files are loaded that share a common include
file). One strategy for avoiding duplicate definitions is to
load a single Slice file that contains only #include statements
for each of the Slice files to be loaded. No duplication is pos‐
sible in this case if the included files use include guards cor‐
rectly.
--include-old DIR
--include-new DIR
Adds the directory DIR to the set of include paths for the old
or new Slice definitions.
--key TYPE[,TYPE]
--value TYPE[,TYPE]
Specifies the Slice type(s) of the database key and value. If
the type does not change, then the type only needs to be speci‐
fied once. Otherwise, the old type is specified first, followed
by a comma and the new type. For example, the option --key
int,string indicates that the database key is migrating from int
to string. On the other hand, the option --key int,int indicates
that the key type does not change, and could be given simply as
--key int. Type changes are restricted to those allowed by the
compatibility rules, but custom migration provides additional
flexibility.
-e
Indicates that a Freeze evictor database is being migrated. As a
convenience, this option automatically sets the database key and
value types to those appropriate for the Freeze evictor, and
therefore the --key and --value options are not necessary.
Specifically, the key type of a Freeze evictor database is
Ice::Identity, and the value type is Freeze::ObjectRecord. The
latter is defined in the Slice file Freeze/EvictorStorage.ice;
however, this file does not need to be loaded into your old and
new Slice definitions.
-i
Requests that transformdb ignore type changes that violate the
compatibility rules. If this option is not specified, transfor‐
mdb fails immediately if such a violation occurs. With this
option, a warning is displayed but transformdb continues the
requested action. The -i option can be specified in analysis or
automatic migration modes.
-p During migration, this option requests that transformdb purge
object instances whose type is no longer found in the new Slice
definitions.
-c
Use catastrophic recovery on the old Berkeley DB database envi‐
ronment prior to migration.
-w
Suppress duplicate warnings during migration. This option is
especially useful to minimize diagnostic messages when transfor‐
mdb would otherwise emit the same warning many times, such as
when it detects the same issue in every record of a database.
SEE ALSOdumpdb(1)transformdb(1)