Loading the HCL Commerce Developer database schema

You need to use a script to load the HCL Commerce database schema.

Note: If you are using the preconfigured Db2 Docker container for your development database, you can skip this section, and move on to Verifying your HCL Commerce Developer installation.

Before you begin

About this task

This script completes the following tasks:
  • Creates the HCL Commerce schema including tables, views, and stored procedures in the database.
  • Loads bootstrap data.
  • Creates two default users in the database.
    wcsadmin
    The site administrator.
    spiuser
    The internal user with the role "RemoteConfigurationReaders". This user is used for inter-component server API invocation only. The spiuser user is configured in Store server, Search server and Customization server, and is used in the API invocation from those servers to the Transaction server. This user cannot be disabled. In the event that this user is disabled, the necessary component servers cannot connect to the Transaction server.

Procedure

  1. Open Windows Powershell 3.0 or later.
    Note: By default Windows 7 includes Powershell 2.0.
    To check the version, open Powershell and enter the following command.
    $PSVersionTable.PSVersion
    If you are not using Powershell 3.0 or later, then install a newer version.
  2. Go to the WCDE_installdir/bin directory.
  3. Run the following command to create the HCL Commerce database schema.
    • DB2
      ./initdb_db2_sample.bat type dbName dbServer dbPort dbaUser dbaPassword dbUser dbPassword merchantKey wcsadminSalt wcsadminPassword spiuserSalt spiuserPassword withSample sslKeyFile sslKeyPassword
    • Oracle
      ./initdb_oracle_sample.bat type dbName dbServer dbPort dbaUser dbaPassword dbUser dbPassword merchantKey wcsadminSalt wcsadminPassword spiuserSalt spiuserPassword withSample sslKeyFile sslKeyPassword
    type
    The type of environment. Valid values are staging or production.
    staging
    Specify this value if you want to enable workspaces. The default workspace number is five. The script create five Read schema and write schema in the database.
    production
    Specify this value if you do not want to enable workspaces and load a schema for production.
    dbName
    The name of the database that you created.
    dbServer
    The database server hostname.
    dbPort
    The database server port.
    dbaUser
    The database administrator username.
    dbaPassword
    The database administrator password.
    dbUser
    The database username. Ensure that you are not using the same username as the database administrator.
    dbPassword
    The database user password.
    merchantKey
    A plain text unencrypted merchant key.
    • A 32 hexadecimal character must be used. Characters can be one of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, or f.
    • Must contain a minimum of one alphabetic character.
    • Must contain a minimum of one numeric character.
    • Must be in lowercase.
    • Cannot contain more than 4 identical consecutive characters.

      For example, 1a1a1a1a1a1a1a1a2b2b2b2b2b2b2b2b.

    Important: You must specify your own merchant key and key encryption key values for the security of your HCL Commerce installation. Do not use the default values contained within the provided sample configuration files and documentation examples.
    wcsadminSalt
    Specify a random string to use to encrypt the wcsadminPassword.
    wcsadminPassword
    This script creates a Site Administrator user named wcsadmin. Specify a password for wcsadmin. Use the username wcsadmin and this password to log in to HCL Commerce tools such as Management Center, HCL Commerce Accelerator, and Administration Console.
    spiuserSalt
    Specify a random string to use to encrypt the spiuserPassword.
    spiuserPassword
    In this parameter, you are specifying the password for the spiuser user.

    If you want to specify your own value for the spiuser password in your HCL Commerce development environment, then complete Setting the spiuser password in HCL Commerce Developer.

    Otherwise you must specify the default password:

    Specify passw0rd (with a zero '0') as the input for this parameter. By default, the servers in the HCL Commerce Developer environment are hard-coded for use with this value.
    This user is used for inter-component server API invocation only. The spiuser is configured in the Store server, Search server and Customization server, and is used in the API invocation from those servers to the Transaction server. This user cannot be disabled, otherwise the component servers cannot connect to the Transaction server.
    withSample
    Determine whether you want to load sample data for the Aurora sample store. Valid values are sampleData or noSample.
    sampleData
    Load sample data for the Aurora sample store. Specify this value if you want to view the Aurora sample store for learning purposes or to use the store as a validation point. At the end of the set up procedure, if you can view a functional store, then the environment installed correctly. If you specify sampleData, sample catalog data and images are loaded into your database. The following sample stores are loaded:
    • ExtendedSitesHub
    • ExtendedSitesCatalogAssetStore
    • AuroraStorefrontAssetStore
    • AuroraESite
    • AuroraB2BStorefrontAssetStore
    • AuroraB2BESite
    noSample
    Do not load any sample data. Specify this value when you will create your own store.

    To learn how to populate your own data, see Creating and configuring your custom store.

    sslKeyFile
    (Optional) If SSL support is configured on the database server, specify the path to the SSL key file. You might want to contact your database administrator to find out whether SSL support is configured.
    sslKeyPassword
    (Optional) If SSL support is configured on the database server, specify the password of the key file. You might want to contact your database administrator to find out whether SSL support is configured.
    For example, to create a staging database and include sample data for the Aurora sample store:
    • DB2
      ./initdb_db2_sample.bat staging mall mydb.hcl.com 50000 db2inst1 db2instpassword wcs wcs1 1a1a1a1a1a1a1a1a2b2b2b2b2b2b2b2b wcsadminSalt1 wcsadminPwd1 spiuserSalt1 passw0rd sampleData opt/utilities/config/keystore.jks hclkey
    • Oracle
      ./initdb_oracle_sample.bat staging orcl mydb.hcl.com 1521 system manager wcs wcs1 1a1a1a1a1a1a1a1a2b2b2b2b2b2b2b2b wcsadminSalt1 wcsadminPwd1 spiuserSalt1 passw0rd sampleData opt/utilities/config/keystore.jks hclkey
    Attention: This script takes approximately 30 minutes to complete. If the script fails, you must restore your database before you attempt to rerun the command.

    For more information about how to restore your database, see RESTORE DATABASE COMMAND for DB2, or Oracle Database 12c Release 2 for Oracle.

  4. Review your initdb database logs to ensure that there are no errors.
  5. Change the HCL Commerce default merchant key with your own encrypted merchant key.
    1. Run wcs_encrypt.bat to encrypt the plain text merchant key.
      ./wcs_encrypt.bat merchantKey KeyEncryptionKey
      merchantKey
      The same plain text unencrypted merchant key that you used when you ran initdb_db2_sample or initdb_oracle_sample.
      KeyEncryptionKey
      Use the key that exists in the workspace_dir/WC/xml/config/KeyEncryptionKey.xml file.
      For example,
      ./wcs_encrypt.bat 1a1a1a1a1a1a1a1a2b2b2b2b2b2b2b2b 1234567890abcdef1234567890abcdef
    2. Copy the ASCII encrypted string and replace the existing key in the workspace_dir/WC/xml/config/merchantKey.xml file.

Results

The HCL Commerce Developer database schema is loaded and is ready for use.