2012-01-12 3 views
0

Qgis 용 플러그인에서 SQLite와 MySQL을 인터페이스로 사용하기 위해 필자는 Eliteir 0.7.1과 SqlAlchemy를 사용합니다 0.7.4. 난 단지 SQLite는을 사용하는 경우, 모든 것이 괜찮다고 최근에 나는 지금까지 나는 그들이 잘 작동, 별도로 테스트,하지만 난 모두 함께 넣어 때 내가 QGIS에서이있어, MySQL 용 모듈을 추가 :SQLite와 MySQL을 Elixir와 함께 사용할 때 존재하지 않는 열을 별도로 사용하지 않을 때

Traceback (most recent call last): 
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 164, in startPlugin 
plugins[packageName] = package.classFactory(iface) 
File "/home/giuseppe/.qgis/python/plugins/mmasgis/__init__.py", line 37, in classFactory 
return mmasgis(iface) 
File "/home/giuseppe/.qgis/python/plugins/mmasgis/mmasgis.py", line 84, in __init__ 
self.selectionList=Lista() 
File "/home/giuseppe/.qgis/python/plugins/mmasgis/lista.py", line 7, in __init__ 
self.util=utility([],0) 
File "/home/giuseppe/.qgis/python/plugins/mmasgis/utility.py", line 266, in __init__ 
initDB() 
File "/home/giuseppe/.qgis/python/plugins/mmasgis/mysqlEntities.py", line 7, in initDB 
setup_all() 
File "/usr/lib/pymodules/python2.7/elixir/__init__.py", line 94, in setup_all 
setup_entities(entities) 
File "/usr/lib/pymodules/python2.7/elixir/entity.py", line 951, in setup_entities 
method() 
File "/usr/lib/pymodules/python2.7/elixir/entity.py", line 240, in setup_relkeys 
self.call_builders('create_non_pk_cols') 
File "/usr/lib/pymodules/python2.7/elixir/entity.py", line 481, in call_builders 
getattr(builder, what)() 
File "/usr/lib/pymodules/python2.7/elixir/fields.py", line 155, in create_non_pk_cols 
self.create_col() 
File "/usr/lib/pymodules/python2.7/elixir/fields.py", line 160, in create_col 
self.add_table_column(self.column) 
File "/usr/lib/pymodules/python2.7/elixir/properties.py", line 84, in add_table_column 
self.entity._descriptor.add_column(column) 
File "/usr/lib/pymodules/python2.7/elixir/entity.py", line 493, in add_column 
(col.key, self.entity.__name__)) 
Exception: Column 'nome' already exist in 'Regione' ! 

Versione Python: 
2.7.2+ (default, Oct 4 2011, 20:29:37) 
[GCC 4.6.1] 


Versione di QGIS: 
1.9.90-Alpha Alpha, exported 

Percorso Python: ['/usr/share/qgis/python', '/home/giuseppe/.qgis/python', '/home  /giuseppe/.qgis/python/plugins', '/usr/share/qgis/python/plugins', '/usr/local/lib/python2.7/dist-packages/pyshp-1.1.4-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.4-py2.7-linux-i686.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/Numeric', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/pymodules/python2.7/ubuntuone-dev-tools', '/usr/lib/pymodules/python2.7/libubuntuone', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-file-storage-api', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol', '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode', '/usr/share/qgis/python/plugins/fTools/tools', '/home/giuseppe/Documenti/doc/progetti/mmasgis/gianluca/ProgettoGIS', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/', '/home/giuseppe/eclipse/plugins/org.python.pydev.debug_2.3.0.2011121518/pysrc/'] 

이있다 SQLite는 내 개체 모듈 : http://pastebin.com/3NypygV4

당신이 내 잘못이고 내가 이해하는 데 도움이 될 수 있습니다 : http://pastebin.com/ya4q9En1 이 MySQL을위한 enties 모듈이다?

답변

2

엘릭서를 사용하지 마십시오. 요즘에는 SQLAlchemy에 내장 된 선언문이 대부분의 기능을 갖추고 있으므로 Elixir보다 더 나은 지원을받을 수 있습니다.

0

내 응용 프로그램을 elixir에서 sqlalchemy로 변환했지만 여전히 동일한 오류 메시지가 표시됩니다. 문제는 내 코드에 없지만 sqlite db에서는 처음 생각하지 않습니다. 엘릭서로 만든 db가 잘못되었습니다.