mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
[DB Manager] Allow lowercase field names for homogenize PostGIS Import
PostGIS provider has an option to lowercase field names. This options is available for user in QGIS algorithm ImportIntoPostGIS and not in DB Mananger. This commit fix it.
This commit is contained in:
parent
c130372730
commit
a9795ad8ea
@ -552,6 +552,9 @@ class Database(DbItemObject):
|
||||
def spatialIndexClause(self, src_table, src_column, dest_table, dest_table_column):
|
||||
return None
|
||||
|
||||
def hasLowercaseFieldNamesOption(self):
|
||||
return False
|
||||
|
||||
|
||||
class Schema(DbItemObject):
|
||||
|
||||
|
@ -168,6 +168,9 @@ class PGDatabase(Database):
|
||||
|
||||
item.runRefreshMaterializedView()
|
||||
|
||||
def hasLowercaseFieldNamesOption(self):
|
||||
return True
|
||||
|
||||
|
||||
class PGSchema(Schema):
|
||||
|
||||
|
@ -108,6 +108,10 @@ class DlgImportVector(QDialog, Ui_Dialog):
|
||||
if not self.chkSpatialIndex.isEnabled():
|
||||
self.chkSpatialIndex.setChecked(False)
|
||||
|
||||
self.chkLowercaseFieldNames.setEnabled(self.db.hasLowercaseFieldNamesOption())
|
||||
if not self.chkLowercaseFieldNames.isEnabled():
|
||||
self.chkLowercaseFieldNames.setChecked(False)
|
||||
|
||||
def populateLayers(self):
|
||||
self.cboInputLayer.clear()
|
||||
for index, layer in enumerate(iface.legendInterface().layers()):
|
||||
@ -302,13 +306,18 @@ class DlgImportVector(QDialog, Ui_Dialog):
|
||||
else:
|
||||
geom = None
|
||||
|
||||
options = {}
|
||||
if self.chkLowercaseFieldNames.isEnabled() and self.chkLowercaseFieldNames.isChecked():
|
||||
pk = pk.lower()
|
||||
if geom:
|
||||
geom = geom.lower()
|
||||
options['lowercaseFieldNames'] = True
|
||||
|
||||
# get output params, update output URI
|
||||
self.outUri.setDataSource(schema, table, geom, "", pk)
|
||||
uri = self.outUri.uri(False)
|
||||
|
||||
providerName = self.db.dbplugin().providerName()
|
||||
|
||||
options = {}
|
||||
if self.chkDropTable.isChecked():
|
||||
options['overwrite'] = True
|
||||
|
||||
|
@ -253,7 +253,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="2">
|
||||
<item row="8" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="chkSpatialIndex">
|
||||
<property name="text">
|
||||
<string>Create spatial index</string>
|
||||
@ -267,6 +267,13 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QCheckBox" name="chkLowercaseFieldNames">
|
||||
<property name="text">
|
||||
<string>Convert field names to lowercase</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
Loading…
x
Reference in New Issue
Block a user