DragonFly On-Line Manual Pages
transformdb(1) DragonFly General Commands Manual transformdb(1)
NAME
transformdb - The Freeze database migration tool.
SYNOPSIS
transformdb -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
environment 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
transformdb 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
directives.
-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
possible 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
possible in this case if the included files use include guards
correctly.
--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
specified 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,
transformdb 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
environment prior to migration.
-w
Suppress duplicate warnings during migration. This option is
especially useful to minimize diagnostic messages when
transformdb would otherwise emit the same warning many times,
such as when it detects the same issue in every record of a
database.
SEE ALSO
dumpdb(1)
transformdb(1)