SoftSlate Commerce
Home » Documentation » HTML Documentation

Migration from 1.x to 2.x - Procedure

  1. Prepare for the Migration. 

    1. Make Sure Migrating is Right for Your Store. Is it worth migrating from 1.x to 2.x? The answer to that question depends on how much the new features of 2.x will improve your store, as well as to what extent you've customized your existing 1.x store. We intend to continue to support version 1.x, including fixing any new bugs found. (However, we do not expect to develop any additional features for 1.x.) The major new features of 2.x include integration with the Hibernate data persistance framework, inventory tracking, and discounting. For a complete list of changes, visit .
    2. Set up a Staging or Test Environment. We strongly recommend performing the migration on a staging or test server. Particluarly if you've made customizations to your 1.x installation, the migration process could take a while, and you don't want your store to be offline during the whole process.
    3. Make a Backup of the SoftSlate Commerce Database. Make a back up copy of the current 1.x application database. This is a very important step. If anything goes wrong you can restore the back up and investigate.


      Please don't skip this step! Making a backup copy of the database is a very important step, because it means you can always go back to the 1.x version of the application if anything goes wrong.

  2. Deploy SoftSlate Commerce 2.x. 

    1. Download SoftSlate Commerce 2.x. Download the SoftSlate Commerce 2.x application from the URL given to you. If you don't know where to find the files, contact sales or support.
    2. Upload and Deploy SoftSlate Commerce 2.x. Upload the application file for 2.x to your staging area and deploy its contents to your application server. Follow the installation steps outlined in the installation documentation to deploy the application.


      Do not run the installer tool or create an empty database. You'll be using the same database as your 1.x installation, after completing the next steps.

  3. Update the Database and Connect 2.x to it. 

    1. Update the 1.x Database. Next, update the database of your 1.x installation with all the new and modified database objects of 2.x. To do this, find the /WEB-INF/classes/resources/upgrades directory within the 2.x installation you just deployed. Against your 1.x database, run all of the SQL statements in all of the .sql files pertaining to your 1.x installation up to and including upgrade_2.0.3_2.0.4.sql .

      For example, if your current 1.x version is 1.0.9, you are upgrading to 2.0.4, and your database is MySQL, you would need to run the following files on your database, in this order:

      1. upgrade_1.0.9_1.0.10.sql
      2. upgrade_1.0.9_1.0.10_mysql.sql
      3. upgrade_1.0.10_1.0.11.sql
      4. upgrade_1.0.11_1.0.12.sql
      5. upgrade_1.0.12_1.0.13.sql
      6. upgrade_1.0.13_1.0.14.sql
      7. upgrade_1.99.99_2.0.1.sql
      8. upgrade_1.99.99_2.0.1_mysql.sql
      9. upgrade_2.0.1_2.0.2.sql
      10. upgrade_2.0.1_2.0.2_mysql.sql
      11. upgrade_2.0.2_2.0.3.sql
      12. upgrade_2.0.3_2.0.4.sql

      To find out which 1.x version you are running, check the "databaseObjects" setting in the npcSetting table of the database, or go to the Maintenance and Upgrades -> Upgrades screen of the Administrator.

      As an example, for MySQL, you would run the following command to execute all the statements in one of the files:

      mysql -u <user> -p < upgrade_1.0.9_1.0.10.sql

    2. Configure the 2.x Database Settings. Next, copy the database settings from the 1.x installation to the 2.x installation.

      1. Find the /WEB-INF/classes/ file under the 1.x installation. This file contains your database connection settings.
      2. Find the /WEB-INF/classes/ file under the 2.x installation. This file tells Hibernate how to connect to the database in 2.x.
      3. If the "databaseType" setting is MySQL in 1.x, set the "hibernate.dialect" property to "org.hibernate.dialect.MySQLDialect" in the file.
      4. If the "databaseType" setting is MSSQL in 1.x, set the "hibernate.dialect" property to "org.hibernate.dialect.SQLServerDialect" in the file.
      5. If you have set up a JNDI DataSource in 1.x, set the "hibernate.connection.datasource" property in the file to the value of the "jndiContext" setting in 1.x, followed by a "/", followed by the value of the "dataSourceName" setting.
      6. Copy the value of the "databaseDriver" setting in 1.x to the "hibernate.connection.driver_class" property in the file.
      7. Copy the value of the "databaseURL" setting in 1.x to the "hibernate.connection.url" property in the file.
      8. Copy the value of the "databaseUserName" setting in 1.x to the "hibernate.connection.username" property in the file.
      9. Copy the value of the "databasePassword" setting in 1.x to the "hibernate.connection.password" property in the file.
      10. If you've adjusted the connection pooling settings, you can make similar adjustments in the file. Note that in 2.x the c3p0 connection pooling library is used, and you can find documentation for it by visiting the c3p0 web site.
      11. In the file under the 1.x installation, find the value of the "twoWayKeyFile" setting. If you are using two-way encryption for passwords or payment information, you need to find this key file on the server and copy it to your 2.x installation, so the application can use it to decrypt existing information.
      12. Now find the /WEB-INF/classes/ file under the 2.x installation. Although stores the database connection settings, this file still holds some important settings in 2.x.
      13. After you copy the two-way key file, update the "twoWayKeyFile" setting in the file under the 2.x installation to point to the file's location, so the application can find it.
      14. Next, copy the value of the "databaseType" setting (MySQL or MSSQL) from the file under the 1.x installation to the under 2.x.
      15. Finally, change the "databaseTablePrefix" setting in the file under the 2.x installation to "npc". (In 2.x, the database tables are prefixed with ssc by default instead of npc, but you may change the prefix by modifying this setting. Since you are using the same database as 1.x, the prefix should be set to npc.)
    3. Start and Test the 2.x Application. You should now be able to start the 2.x application from within your Java application server. For example, if you are using Tomcat use the Manager application to run the start command:


      Test the application to make sure it can connect to your database. You should see the application come up, but without any of the customizations you made to 1.x.

  4. Incorporate 1.x Customizations into the 2.x Installation. 

    For some suggestions and guidelines on incorporating your 1.x customizations into 2.x, please refer to the following section of this guide.

Copyright © 2009-2017 SoftSlate, LLC. All Rights Reserved.

Powered by SoftSlate Commerce

Foraker Design