Python 将SQLite和MySQL与Elixir一起使用时不存在列,但单独使用时不存在列

Python 将SQLite和MySQL与Elixir一起使用时不存在列,但单独使用时不存在列,python,sqlalchemy,qgis,python-elixir,Python,Sqlalchemy,Qgis,Python Elixir,在我的Qgis插件中,目前我必须使用两个数据库,SQLite和MySQL,为了与它们交互,我使用Elixir 0.7.1和SqlAlchemy 0.7.4。当我只使用SQLite时,一切都很好,最近我添加了MySQL模块,就我单独测试而言,它们工作得很好,但当我将所有这些放在一起时,我从qgis得到了以下信息: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/qgis/utils.py", lin

在我的Qgis插件中,目前我必须使用两个数据库,SQLite和MySQL,为了与它们交互,我使用Elixir 0.7.1和SqlAlchemy 0.7.4。当我只使用SQLite时,一切都很好,最近我添加了MySQL模块,就我单独测试而言,它们工作得很好,但当我将所有这些放在一起时,我从qgis得到了以下信息:

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的“我的实体”模块: 这是MySQL的enties模块:


你能帮我弄明白我的错误在哪里吗?

不要用长生不老药。如今,SQLAlchemy的内置声明式具有大部分功能,您将获得比Elixir更好的支持。

我将我的应用程序从Elixir翻译为SQLAlchemy,但我仍然收到相同的错误消息,我开始认为问题不在我的代码中,但在sqlite db中,这对我来说不是第一次elixir创建的db出现故障