From 1a959ba0b3bdfeb8ef3f3aa0539f1b9ab2873ea0 Mon Sep 17 00:00:00 2001 From: emilio Date: Wed, 27 Jan 2016 09:48:55 +0100 Subject: [PATCH 1/2] better float, double and blob types detection --- db_converter.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/db_converter.py b/db_converter.py index d04db44..48d00a8 100644 --- a/db_converter.py +++ b/db_converter.py @@ -134,9 +134,11 @@ def parse(input_filename, output_filename): set_sequence = True elif type == "datetime": type = "timestamp with time zone" - elif type == "double": + elif type.startswith("double"): type = "double precision" - elif type == "blob": + elif type.startswith("float"): + type = "real" + elif "blob" in type: type = "bytea" elif type.startswith("enum(") or type.startswith("set("): From c74949e1d857f9ff0fd955615b9f16fca09615cb Mon Sep 17 00:00:00 2001 From: emilio Date: Wed, 27 Jan 2016 10:32:53 +0100 Subject: [PATCH 2/2] added support for multiple databases (psql only) --- db_converter.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/db_converter.py b/db_converter.py index 48d00a8..9967d1b 100644 --- a/db_converter.py +++ b/db_converter.py @@ -85,6 +85,14 @@ def parse(input_filename, output_filename): elif line.startswith("INSERT INTO"): output.write(line.encode("utf8").replace("'0000-00-00 00:00:00'", "NULL") + "\n") num_inserts += 1 + elif line.startswith("CREATE DATABASE"): + db_name = line.split('"')[1] + output.write("COMMIT;\n") + output.write(u"CREATE DATABASE \"%s\";\n" % db_name) + elif line.startswith("USE "): + db_name = line.split('"')[1] + output.write(u"\connect \"%s\"\n" % db_name) + output.write("START TRANSACTION;\n") # ??? else: print "\n ! Unknown line in main body: %s" % line