← Back to team overview

openerp-community team mailing list archive

Re: Error when removing product_variant_multi module

 

Hi, Jean-Marc,

I have seen this error when you declare incorrectly one of the fields of a
model (the lines inside _columns variable). For example, you forget a comma
between two string arguments. The solution is to correct the problem and
update the module. Then, uninstall it.

I have to say that I think the uninstall feature works well itself, but due
to the current inability to reload Python code (this has been addressed in
a trunk branch), it is advisable to restart the server. Doing that (and if
you want to be sure, update module base or launch with --update=all), I
have no problems uninstalling.

Regards.


2013/11/14 Jean-Marc Dupont <jmd@xxxxxx>

> Is ther a "technical" way to remove this module
> I don't want to recreate a database
>
>
> 2013/11/14 Dominique Chabord <dominique.chabord@xxxxxxxxxx>
>
>> hello,
>>
>> despite what was announced, you cannot remove a module in most cases.
>> regards
>>
>> 2013/11/14 Jean-Marc Dupont <jmd@xxxxxx>:
>> > Hi all,
>> >
>> > When removing the module "product_variant_multi" (which is apparently
>> not
>> > compatible with last versions of OpenERP), I get this error :
>> >
>> > OpenERP Server Error
>> >
>> > ________________________________
>> >
>> > Client Traceback (most recent call last):
>> >   File "/opt/openerp/server/openerp/addons/web/http.py", line 204, in
>> > dispatch
>> >     response["result"] = method(self, **self.params)
>> >   File "/opt/openerp/server/openerp/addons/web/controllers/main.py",
>> line
>> > 1132, in call_button
>> >     action = self._call_kw(req, model, method, args, {})
>> >   File "/opt/openerp/server/openerp/addons/web/controllers/main.py",
>> line
>> > 1120, in _call_kw
>> >     return getattr(req.session.model(model), method)(*args, **kwargs)
>> >   File "/opt/openerp/server/openerp/addons/web/session.py", line 42, in
>> > proxy
>> >     result = self.proxy.execute_kw(self.session._db, self.session._uid,
>> > self.session._password, self.model, method, args, kw)
>> >   File "/opt/openerp/server/openerp/addons/web/session.py", line 30, in
>> > proxy_method
>> >     result = self.session.send(self.service_name, method, *args)
>> >   File "/opt/openerp/server/openerp/addons/web/session.py", line 103, in
>> > send
>> >     raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
>> >
>> >
>> > Server Traceback (most recent call last):
>> >   File "/opt/openerp/server/openerp/addons/web/session.py", line 89, in
>> send
>> >     return openerp.netsvc.dispatch_rpc(service_name, method, args)
>> >   File "/opt/openerp/server/openerp/netsvc.py", line 292, in
>> dispatch_rpc
>> >     result = ExportService.getService(service_name).dispatch(method,
>> params)
>> >   File "/opt/openerp/server/openerp/service/web_services.py", line 626,
>> in
>> > dispatch
>> >     res = fn(db, uid, *params)
>> >   File "/opt/openerp/server/openerp/osv/osv.py", line 188, in execute_kw
>> >     return self.execute(db, uid, obj, method, *args, **kw or {})
>> >   File "/opt/openerp/server/openerp/osv/osv.py", line 131, in wrapper
>> >     return f(self, dbname, *args, **kwargs)
>> >   File "/opt/openerp/server/openerp/osv/osv.py", line 197, in execute
>> >     res = self.execute_cr(cr, uid, obj, method, *args, **kw)
>> >   File "/opt/openerp/server/openerp/osv/osv.py", line 185, in execute_cr
>> >     return getattr(object, method)(cr, uid, *args, **kw)
>> >   File
>> >
>> "/opt/openerp/server/openerp/addons/base/module/wizard/base_module_upgrade.py",
>> > line 90, in upgrade_module
>> >     pooler.restart_pool(cr.dbname, update_module=True)
>> >   File "/opt/openerp/server/openerp/pooler.py", line 39, in restart_pool
>> >     registry = RegistryManager.new(db_name, force_demo, status,
>> > update_module)
>> >   File "/opt/openerp/server/openerp/modules/registry.py", line 218, in
>> new
>> >     openerp.modules.load_modules(registry.db, force_demo, status,
>> > update_module)
>> >   File "/opt/openerp/server/openerp/modules/loading.py", line 421, in
>> > load_modules
>> >     pool.get('ir.module.module').module_uninstall(cr, SUPERUSER_ID,
>> > mod_ids_to_remove)
>> >   File "/opt/openerp/server/openerp/addons/base/module/module.py", line
>> 439,
>> > in module_uninstall
>> >     ir_model_constraint._module_data_uninstall(cr, uid, constraint_ids,
>> > context)
>> >   File "/opt/openerp/server/openerp/addons/base/ir/ir_model.py", line
>> 536,
>> > in _module_data_uninstall
>> >     WHERE cs.contype=%s and cs.conname=%s and cl.relname=%s""", ('f',
>> name,
>> > model_obj._table))
>> > AttributeError: 'NoneType' object has no attribute '_table'
>> >
>> >
>> > Can someone help ?
>> >
>> >
>> > _______________________________________________
>> > Mailing list: https://launchpad.net/~openerp-community
>> > Post to     : openerp-community@xxxxxxxxxxxxxxxxxxx
>> > Unsubscribe : https://launchpad.net/~openerp-community
>> > More help   : https://help.launchpad.net/ListHelp
>> >
>>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openerp-community
> Post to     : openerp-community@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openerp-community
> More help   : https://help.launchpad.net/ListHelp
>
>

References