Selaa lähdekoodia

v.db.renamecolumn mysql error (https://trac.osgeo.org/grass/ticket/2819) - applied patch proposed by Markus Neteler
(merge https://trac.osgeo.org/grass/changeset/67315, https://trac.osgeo.org/grass/changeset/67359 from trunk)


git-svn-id: https://svn.osgeo.org/grass/grass/branches/releasebranch_7_0@67360 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa 9 vuotta sitten
vanhempi
commit
09a896680a
1 muutettua tiedostoa jossa 8 lisäystä ja 0 poistoa
  1. 8 0
      scripts/v.db.renamecolumn/v.db.renamecolumn.py

+ 8 - 0
scripts/v.db.renamecolumn/v.db.renamecolumn.py

@@ -97,6 +97,14 @@ def main():
         sql = "UPDATE %s SET %s=%s" % (table, newcol, oldcol)
         grass.write_command('db.execute', input = '-', database = database, driver = driver, stdin = sql)
         grass.run_command('v.db.dropcolumn', map = map, layer = layer, column = oldcol)
+    elif driver == 'mysql':
+        if oldcoltype.upper() == "CHARACTER":
+            newcoltype = "varchar(%s)" % (oldcollength)
+        else:
+            newcoltype = oldcoltype
+
+        sql = "ALTER TABLE %s CHANGE %s %s %s" % (table, oldcol, newcol, newcoltype)
+        grass.write_command('db.execute', input = '-', database = database, driver = driver, stdin = sql)
     else:
         sql = "ALTER TABLE %s RENAME %s TO %s" % (table, oldcol, newcol)
         grass.write_command('db.execute', input = '-', database = database, driver = driver, stdin = sql)