Nuxeo 5.4 to 5.6 migration with mysql to postgres db backend change

Hi,

I've been using nuxeo 5.4 with mysql as the backend database.Due to the performance constraints with mysql now I want to move to postgresql. I have now setup a fresh nuxeo 5.6 with postgres as my db. Is there any way by which I can export/import the docs from my old nuxeo (about 150GB of data). The knowledge base article says that I can use nuxeo shell and core-io features for the doc migration but there is not much details about it. Can somebody please point me some existing document or give in your suggestions on doing the same,

0 votes

1 answers

2380 views

ANSWER



Hi,

I would separately manage the migration from MySQL to PostgreSQL and the upgrade from 5.4 to 5.6.

About the upgrade, see How to upgrade Nuxeo.

About the database change, simply reuse the same data directory and feed the PostgreSQL database with a SQL dump from MySQL.

Note, there are many other possibilities and depending on your needs you could also used one of the following tools and features:

0 votes



Hi, I found migration of dump from mysql to postgres a bit non-trivial because of the schema and data-types involved. I am building nuxeo-platform-replicator(https://github.com/nuxeo/nuxeo-platform-replication) and will update my exp/steps
09/14/2012

Hi, I tried using nuxeo platform replicator module. The export got done successfully. I got an Document Base folder Inside which my workspaces where present. But when I do an import from the same directory. I get an error with the following stacktrace

javax.servlet.ServletException: #{importActions.startImport}: java.lang.NullPointerException

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.wss.servlet.BaseWSSFilter.doFilter(BaseWSSFilter.java:137)
at org.nuxeo.wss.servlet.FailSafeWSSFilter.doFilter(FailSafeWSSFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.nuxeo.ecm.platform.ui.web.multipart.MultipartFilter.doFilter(MultipartFilter.java:73)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:131)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.ecm.platform.wi.filter.WIRequestFilter.doFilter(WIRequestFilter.java:114)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at oardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at \
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)

And also after putting the jars I get the following message while restarting nuxeo. please help me.

= Component Loading Errors:

  • Failed to register component: service:org.nuxeo.ecm.platform.replication.importer.core.DocumentaryBaseImporterService (java.lang.NoClassDefFoundError: org/nuxeo/ecm/platform/importer/executor/AbstractImporterExecutor)

  • Failed to register component: service:org.nuxeo.ecm.platform.replication.importer.transformer.default (java.lang.NoClassDefFoundError: org/nuxeo/ecm/platform/replication/importer/DocumentaryBaseImpServiceImpl)

    = Component Loading Status: Pending: 0 / Unstarted: 1 / Total: 521

  • service:org.nuxeo.ecm.platform.replication.importer.core.DocumentaryBaseImporterService

09/15/2012

It seems you didn't install all the required modules: AbstractImporterExecutor comes from nuxeo-importer-core and DocumentaryBaseImpServiceImpl from nuxeo-platform-replication-importer-core.
10/12/2012