Database Migration From Liferay 6.1 to Liferay 6.2


Today we will discuss how to migrate database (users, roles,pages, webcontent etc) from Liferay 6.1 to Liferay 6.2. I assume that you already installed Liferay 6.1 and created pages , roles and user. The name of the database we are using for liferay 6.1 is named as liferay6.1db.

So lets start this step by step:-


Step 1:-Take backup of your database
As a precaution take backup of your database ie liferay6.1db so that if anything goes wrong your have your original database.

Step 2:-Install liferay 6.2 with hypersonic
Install liferay 6.2 and use hypersonic databse which is provided by liferay.

Step 3:-Replace document library folder
Now copy content from document_library folder of liferay 6.1 (..\liferay-portal-6.1.2-ce-ga3\data\document_library) and paste in liferay 6.2(..\liferay-portal-6.2.0-ce-ga1\data\document_library).

Step 4:-Change portal-ext.properties
Now open portal-ext.properties file and point database entry to liferay 6.1 database ie liferay6.1db.

You have to change algorithm also which is used in liferay 6.2

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/liferay6.1db?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=root
jdbc.default.password=root
jdbc.default.maxPoolSize=300
live.users.enabled=true
passwords.encryption.algorithm.legacy=SHA


Step 5:-Restart the Liferay 6.2 Server
Now restart your server .You can see migration activity on the console of your tomcat . Thats it your database migrated successfully from liferay 6.1 to 6.2.

By using this approach you can migrate:-

  • User
  • Roles
  • Pages
  • Structures and Templates
  • Web Content.



Note:-  

If this error comes:-
org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update;
SQL [insert into PortletPreferences (ownerId, ownerType, plid, portletId, preferences, portletPreferencesId) values (?, ?, ?, ?, ?, ?)];
constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

Then open data base table portletprefrences and change NULL to some text like "Change to Not Null by me"

And Restart Server.




Hope this will Help....


Related Post:-