|
From: Nirgal <con...@ni...> - 2012-01-30 10:59:19
|
On Friday 27 January 2012 19:32:58 George L. Emigh wrote:
> (...) ran into another problem, wanted
> to add a prefix to the table names using the -N <namespace> option.
>
> for -N qp mdb-schema gives:
> DROP TABLE [qp_Customer Table];
> CREATE TABLE [qp_Customer Table]
>
> which is what I expected, but mdb-export -I mysql -N qp gives:
> INSERT INTO qp`Customer Table` (
>
> Namespaces is not mentioned in the man pages but is when you run the command
> without any options, is Namespaces going to be removed?
Ops. My mistake. I just comited a fix regarding namespaces:
$ src/util/mdb-export -I mysql ~/Desktop/uuid.mdb table1I
INSERT INTO `table1` (`test2`, `test`) VALUES ("OK",NULL);
INSERT INTO `table1` (`test2`, `test`) VALUES ("OK",NULL);
$ src/util/mdb-export -I mysql -N qp ~/Desktop/uuid.mdb table1I
INSERT INTO `qp_table1` (`test2`, `test`) VALUES ("OK",NULL);
INSERT INTO `qp_table1` (`test2`, `test`) VALUES ("OK",NULL);
$ src/util/mdb-export -I postgres ~/Desktop/uuid.mdb table1
INSERT INTO "table1" ("test2", "test") VALUES ("OK",NULL);
INSERT INTO "table1" ("test2", "test") VALUES ("OK",NULL);
$ src/util/mdb-export -I postgres -N qp ~/Desktop/uuid.mdb table1
INSERT INTO "qp"."table1" ("test2", "test") VALUES ("OK",NULL);
INSERT INTO "qp"."table1" ("test2", "test") VALUES ("OK",NULL);
Patch is available at:
https://github.com/brianb/mdbtools/commit/7e34078bcc9a7b23ab028db969cdf77c0b283752
> Also I see the sanitize option is gone, will that option to convert spaces
> to underscores be coming back? I liked the feature, convert all fields and
> table names to lowercase would be nice too, but for now I'll just alter my
> tables after the conversion.
I don't plan to work on sanitizing again (but maybe someone else will).
Non-ascii tables results in duplicate names. For exemple, chinese names will create tables "___" "___". One need to add something to diferentiate them, such as a number:
"___1" "___2".
Then you need to store new names for handling foreign contraints, and so on.
Not trivial at all.
With the proper escape now working, I don't see the point.
Removing spaces from table names after mysql conversion seems a bit out of scope, in my opinion.
Cheers
|