El 29/08/14 a les 07:42, Luis Alberto Ballado Aradias ha escrit:
Hola,

estoy migrando mi proyecto realizado y funcionando en tryton 2.8 haciendo uso de GNUHealth 2.2. Lo quiero migrar a su version mas reciente. Como muchos lo recomiendan es hacer cambios de version a version (2.8 > 3.0 > 3.2) , por el momento he pasado todos los modulos que he realizado en mi proyecto para hacer uso de ellos en v3.0. Pero el test lo realice con una DB nueva, pero cuando quiero aplicarlo con mi DB que uso en mi v2.8 tengo varios errores. Uno de ellos es de crear llaves foraneas a.k.a foreing keys (create_uid, write_uid) que lo hago manualmente en pgadmin3.
Posteriormente tengo errores como :

[Thu Aug 28 18:55:27 2014] INFO:modules:health:loading health_view.xml
[Thu Aug 28 18:55:38 2014] INFO:modules:health:loading data/health_product.xml /home/gnuhealth/tryton-3.0/trytond3.0/trytond/model/modelsql.py:360: DeprecationWarning: With-statements now directly support multiple context managers
Transaction().set_user(0)):
[Thu Aug 28 18:55:38 2014] ERROR:convert:Error while parsing xml file:
In tag record: model product.category with id prod_insurance.
Traceback (most recent call last):
  File "./trytond", line 111, in <module>
trytond.server.TrytonServer(options).run()
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/server.py", line 124, in run
Pool(db_name).init(update=update, lang=lang)
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/pool.py", line 151, in init
    lang=lang)
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/modules/__init__.py", line 399, in load_modules
load_module_graph(graph, pool, lang)
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/modules/__init__.py", line 249, in load_module_graph
tryton_parser.parse_xmlstream(fp)
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/convert.py", line 432, in parse_xmlstream
self.sax_parser.parse(source)
  File "/usr/lib/python2.7/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
  File "/usr/lib/python2.7/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
  File "/usr/lib/python2.7/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib/python2.7/xml/sax/expatreader.py", line 304, in end_element
self._cont_handler.endElement(name)
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/convert.py", line 482, in endElement
    self.taghandler = self.taghandler.endElement(name)
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/convert.py", line 277, in endElement
self.model.__name__, self.values, self.xml_id)
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/convert.py", line 707, in import_record
self.create_records(model, [values], [fs_id])
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/convert.py", line 713, in create_records
    records = Model.create(vlist)
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/model/modelsql.py", line 361, in create
cls.__raise_integrity_error(exception, values)
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/model/modelsql.py", line 208, in __raise_integrity_error
error_args=cls._get_error_args(field_name))
File "/home/gnuhealth/tryton-3.0/trytond3.0/trytond/error.py", line 74, in raise_user_error
    raise UserError(error)
trytond.exceptions.UserError: ('UserError', (u'The field "Empresa" on "category_admin" is required.', ''))

Me gustaria saber si mi procedimiento de migracion esta en lo correcto y solo sean cambios en las tablas del DB en una nueva version 3.0.
O cual sera la mejor forma de migrar mi Base de datos?
Tienes que obtener las fuentes de la nueva version y despues ejecutar:

trytond -d <base_datos> -u all

Y el servidor se encargará de actualizar todos los módulos de tu base de datos. No hace falta que hagas nada manualmente en la base de datos.

--
Sergi Almacellas Abellana
www.koolpi.com
Twitter: @pokoli_srk

Responder a