From 5c0d2f67c9895bc17f76634a7a09606e8f3c521a Mon Sep 17 00:00:00 2001 From: Jeesyn Date: Thu, 6 Jul 2017 01:05:53 +0800 Subject: [PATCH 1/3] replace sqlite keywords both upper and lowercase --- python/sqlite3-to-mysql.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/python/sqlite3-to-mysql.py b/python/sqlite3-to-mysql.py index 38877d3..45eb09e 100755 --- a/python/sqlite3-to-mysql.py +++ b/python/sqlite3-to-mysql.py @@ -11,18 +11,26 @@ 'INSERT INTO "sqlite_sequence"', ] +REPLACEMAP = {"INTEGER PRIMARY KEY": "INTEGER AUTO_INCREMENT PRIMARY KEY", + "AUTOINCREMENT": "AUTO_INCREMENT", + "DEFAULT 't'": "DEFAULT '1'", + "DEFAULT 'f'": "DEFAULT '0'", + ",'t'": ",'1'", + ",'f'": ",'0'", +} + +def _replace_match_allcase(src, dst): + line = line.replace(src,dst) + line = line.replace(src.upper(),dst) + return line + def _replace(line): if any(line.startswith(prefix) for prefix in IGNOREDPREFIXES): return - line = line.replace("INTEGER PRIMARY KEY", "INTEGER AUTO_INCREMENT PRIMARY KEY") - line = line.replace("AUTOINCREMENT", "AUTO_INCREMENT") - line = line.replace("DEFAULT 't'", "DEFAULT '1'") - line = line.replace("DEFAULT 'f'", "DEFAULT '0'") - line = line.replace(",'t'", ",'1'") - line = line.replace(",'f'", ",'0'") + for (src,dst) in REPLACEMAP.items(): + line = line._replace_match_allcase(src, dst) return line - def _backticks(line, in_string): """Replace double quotes by backticks outside (multiline) strings From 1a07ad513f34cfff6c616391f21142ec4a3427b0 Mon Sep 17 00:00:00 2001 From: Jeesyn Date: Thu, 6 Jul 2017 01:09:32 +0800 Subject: [PATCH 2/3] currcect intend --- python/sqlite3-to-mysql.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/python/sqlite3-to-mysql.py b/python/sqlite3-to-mysql.py index 45eb09e..487ae2b 100755 --- a/python/sqlite3-to-mysql.py +++ b/python/sqlite3-to-mysql.py @@ -12,11 +12,11 @@ ] REPLACEMAP = {"INTEGER PRIMARY KEY": "INTEGER AUTO_INCREMENT PRIMARY KEY", - "AUTOINCREMENT": "AUTO_INCREMENT", - "DEFAULT 't'": "DEFAULT '1'", - "DEFAULT 'f'": "DEFAULT '0'", - ",'t'": ",'1'", - ",'f'": ",'0'", + "AUTOINCREMENT": "AUTO_INCREMENT", + "DEFAULT 't'": "DEFAULT '1'", + "DEFAULT 'f'": "DEFAULT '0'", + ",'t'": ",'1'", + ",'f'": ",'0'", } def _replace_match_allcase(src, dst): @@ -28,7 +28,7 @@ def _replace(line): if any(line.startswith(prefix) for prefix in IGNOREDPREFIXES): return for (src,dst) in REPLACEMAP.items(): - line = line._replace_match_allcase(src, dst) + line = line._replace_match_allcase(src, dst) return line def _backticks(line, in_string): From d16132ab77470d4722f35dbaa2af66768b9fd5dc Mon Sep 17 00:00:00 2001 From: Jeesyn Date: Thu, 6 Jul 2017 01:18:07 +0800 Subject: [PATCH 3/3] fix bug --- python/sqlite3-to-mysql.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/sqlite3-to-mysql.py b/python/sqlite3-to-mysql.py index 487ae2b..63bd3ac 100755 --- a/python/sqlite3-to-mysql.py +++ b/python/sqlite3-to-mysql.py @@ -19,16 +19,16 @@ ",'f'": ",'0'", } -def _replace_match_allcase(src, dst): +def _replace_match_allcase(line, src, dst): line = line.replace(src,dst) - line = line.replace(src.upper(),dst) + line = line.replace(src.lower(),dst) return line def _replace(line): if any(line.startswith(prefix) for prefix in IGNOREDPREFIXES): return for (src,dst) in REPLACEMAP.items(): - line = line._replace_match_allcase(src, dst) + line = _replace_match_allcase(line, src, dst) return line def _backticks(line, in_string):