I’d been using OpenERP 6 OK and decided to upgrade to version 7.
I downloaded openerp_7.0alpha-20121206-000102-1_all.deb from http://nightly.openerp.com/trunk/nightly/deb/ and installed it. Now when I browse to http://localhost:8069 I can no longer select the database (because when there is one DB there is no reason to show the selector,) and after log in I get:
OpenERP Server Error
Client Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/openerp/addons/web/http.py", line 195, in dispatch
response["result"] = method(self, **self.params)
File "/usr/lib/pymodules/python2.7/openerp/addons/web/controllers/main.py", line 833, in authenticate
req.session.authenticate(db, login, password, env)
File "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py", line 113, in authenticate
uid = self.proxy('common').authenticate(db, login, password, env)
File "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py", line 28, in proxy_method
result = self.session.send(self.service_name, method, *args)
File "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py", line 101, in send
raise xmlrpclib.Fault(openerp.tools.exception_to_unicode(e), formatted_info)
Server Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py", line 87, in send
return openerp.netsvc.dispatch_rpc(service_name, method, args)
File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 361, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 413, in dispatch
return fn(*params)
File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 424, in exp_authenticate
res_users = pooler.get_pool(db).get('res.users')
File "/usr/lib/pymodules/python2.7/openerp/pooler.py", line 50, in get_pool
return get_db_and_pool(db_name, force_demo, status, update_module)[1]
File "/usr/lib/pymodules/python2.7/openerp/pooler.py", line 33, in get_db_and_pool
registry = RegistryManager.get(db_name, force_demo, status, update_module, pooljobs)
File "/usr/lib/pymodules/python2.7/openerp/modules/registry.py", line 156, in get
update_module, pooljobs)
File "/usr/lib/pymodules/python2.7/openerp/modules/registry.py", line 178, in new
openerp.modules.load_modules(registry.db, force_demo, status, update_module)
File "/usr/lib/pymodules/python2.7/openerp/modules/loading.py", line 296, in load_modules
loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=(not update_module), report=report)
File "/usr/lib/pymodules/python2.7/openerp/modules/loading.py", line 164, in load_module_graph
init_module_models(cr, package.name, models)
File "/usr/lib/pymodules/python2.7/openerp/modules/module.py", line 373, in init_module_models
result = obj._auto_init(cr, {'module': module_name})
File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 3211, in _auto_init
self._add_sql_constraints(cr)
File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 3350, in _add_sql_constraints
self._save_constraint(cr, conname, 'u')
File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 2859, in _save_constraint
""", (constraint_name, self._module))
File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 162, in wrapper
return f(self, *args, **kwargs)
File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 227, in execute
res = self._obj.execute(query, params)
ProgrammingError: relation "ir_model_constraint" does not exist
LINE 2: SELECT 1 FROM ir_model_constraint, ir_module_mod...
^
So I try to run it manually like:
sudo openerp-server stop
su - openerp
openerp-server -d openerp1 -u all
and I get
2012-12-07 07:00:43,417 7584 ERROR openerp1 openerp: Failed to initialize database `openerp1`.
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/openerp/cli/server.py", line 97, in preload_registry
db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=openerp.tools.config['init'] or openerp.tools.config['update'], pooljobs=False)
File "/usr/lib/pymodules/python2.7/openerp/pooler.py", line 33, in get_db_and_pool
registry = RegistryManager.get(db_name, force_demo, status, update_module, pooljobs)
File "/usr/lib/pymodules/python2.7/openerp/modules/registry.py", line 156, in get
update_module, pooljobs)
File "/usr/lib/pymodules/python2.7/openerp/modules/registry.py", line 178, in new
openerp.modules.load_modules(registry.db, force_demo, status, update_module)
File "/usr/lib/pymodules/python2.7/openerp/modules/loading.py", line 296, in load_modules
loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=(not update_module), report=report)
File "/usr/lib/pymodules/python2.7/openerp/modules/loading.py", line 164, in load_module_graph
init_module_models(cr, package.name, models)
File "/usr/lib/pymodules/python2.7/openerp/modules/module.py", line 373, in init_module_models
result = obj._auto_init(cr, {'module': module_name})
File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 3211, in _auto_init
self._add_sql_constraints(cr)
File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 3350, in _add_sql_constraints
self._save_constraint(cr, conname, 'u')
File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 2859, in _save_constraint
""", (constraint_name, self._module))
File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 162, in wrapper
return f(self, *args, **kwargs)
File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 227, in execute
res = self._obj.execute(query, params)
ProgrammingError: relation "ir_model_constraint" does not exist
LINE 2: SELECT 1 FROM ir_model_constraint, ir_module_mod...
What can I do, or should I have done to upgrade?
There is no free upgrade mechanism from OpenERP 6.0 to 7.0 for now. OpenERP SA makes a living by selling a commercial upgrade solution, for which you get a considerable discount if you have a yearly support contract with them.
Using -u all will probably attempt to upgrade you database schema, but il will not migrate your data (i.e. if a column was renamed, you will not get your data moved from the old column to the new one), and the views will not be migrated either : the new views with the same XML ids replace the old ones, new views are created, and old views are still there, possibly referencing fields which no longer exist. Basically your DB is now a total mess, and hopefully you have a backup which you can use to continue running v 6.0.