Nuodb Migrator Schema命令的示例

使用例子

Generated schema can be exported to a NuoDB database through --target.* options, to a file via the --output.path parameter. 如果没有提供目标数据库和文件,则脚本将写入标准输出流。 以下命令从MySQL目录生成NOODB架构,并将其打印到标准输出。

nuodb-migrator schema                             \
       --source.driver=com.mysql.jdbc.Driver      \
       --source.url=jdbc:mysql://localhost/test   \
       --source.username=root                     \
       --source.password=12345

The tool generates DROP and CREATE statements for target objects. Using the --script.type option, you can alter the default behavior. The following causes only DROP statements to be outputted:

nuodb-migrator schema ... --script.type=drop

You can exclude certain types of objects from the output by listing them in the --meta.data.* option. 下面的命令指示迁移器不将外键和自动递增列包含生成的DDL脚本:

nuodb-migrator schema ...                \
       --meta.data.foreign.key=false     \
       --meta.data.auto.increment=false
在任何情况下,都会忽略外键,没有任何操作,因为它们应该包括默认值。

Nuodb Migrator使用标识符引用和标识符规范化策略来为表和列生成名称。 Those policies may be overridden on the command line using --identifier.quoting and --identifier.normalizer parameters:

nuodb-migrator schema ...                  \
       --identifier.quoting=minimal        \
       --identifier.normalizer=lower.case

上面的线只会引用识别器,这些标识符是停止单词和保留的单词。 所有生成的名称都将以小写格式出现。

--use.nuodb.types Example

对于以下MySQL表:

CREATE TABLE `t1` ( "f1" CHAR(10) DEFAULT NULL,
   "f2" VARCHAR(10) DEFAULT NULL,
   "f3" TEXT);

没有交换机,Nuodb-Migrator模式{Arguments}生成:

CREATE TABLE "t1" ("f1" CHAR(10),
    "f2" VARCHAR(10),
    "f3" CLOB);

使用CL Nuodb-Migrator Schema {Arguments}的开关--USE.NUODB.Types生成:

CREATE TABLE "t1" ("f1" STRING, "f2" STRING, "f3" STRING);

--use.explicit.defaults Example

对于以下MySQL表:

CREATE TABLE `t1` ("f1" SMALLINT(6) NOT NULL,
   "f2" DOUBLE NOT NULL,
   "f3" DECIMAL(10,0) NOT NULL,
   "f4" CHAR(10) NOT NULL, `f5` TEXT NOT NULL,
   "f6" ENUM('value1','value2','value3') NOT NULL);

没有显式默认值Nuodb-Migrator架构{Arguments}将导致:

CREATE TABLE "t1" ("f1" SMALLINT NOT NULL, "f2" DOUBLE NOT NULL,
    "f3" DECIMAL(10,0) NOT NULL,
    "f4" CHAR(10) NOT NULL, "f5" CLOB NOT NULL,
    "f6" CHAR(7) NOT NULL);

With explicit defaults transformed to their implicit equivalents / nuodb-migrator schema {arguments} --use.nuodb.types generates:

CREATE TABLE "t1" ("f1" SMALLINT NOT NULL DEFAULT '0',
    "f2" DOUBLE NOT NULL DEFAULT '0',
    "f3" DECIMAL(10,0) NOT NULL DEFAULT '0',
    "f4" CHAR(10) NOT NULL DEFAULT '',
    "f5" CLOB NOT NULL DEFAULT '',
    "f6" CHAR(7) NOT NULL DEFAULT 'value1');