Staging environment limitations
Staging database
- IBM recommends using the Management Center to change the staging database. Connecting to the database directly break some of the limitations required by staging. For example, if you change the category for a catalog entry within Management Center, first the old relationship is deleted. Then, a new relationship is inserted. If you connect to the database directly, only an update is performed. The staging environment does not find the ID of the record, as it is changed. We could modify triggers to perform a delete and insert, however it is not recommended.
- (Enterprise) We cannot use the staging environment with the buyer organization self-administration features.
- The MEMBER_ID column of all staging tables (excluding MEMBER, MBRREL, MBRROLE, and MBRATTRVAL) must be organizations or member groups, and not users. Users are indicated by a value of U in the type column of the MEMBER table. If the MEMBER_ID references a user in the MEMBER table, stagingcopy might fail. For example, the PARTICIPNT table has a foreign key to the MEMBER table. When a contract participant is created, the value in the MEMBER_ID column in the PARTICIPNT table cannot reference a MEMBER_ID in the MEMBER table that has a value of U in the type column.
- For all site tables, the MEMBER_ID must be -2001 or 0. For all tables that contain both site and merchant data, the MEMBER_ID for rows related to site data must be 0 or -2001.
- (DB2) Do not delete any WebSphere Commerce object that involves the MEMBER table from the production-ready data. These objects include users, organizations, customer segments, member groups, customer territory groups, or customer price groups. If you attempt to delete these objects, the objects do not delete.
We can delete WebSphere Commerce objects that involve the MEMBER table from a workspace, if the objects are available in a workspace. To publish these deletions to the production environment, we must turn off SQL batch update when we are running the stagingprop utility. Turn off SQL batch updates by specifying setting the -batchsize parameter to 0.
To learn what WebSphere Commerce objects involve the MEMBER table, review the WebSphere Commerce data model documentation.
- We cannot create or update RFQs in a staging environment. If you use RFQs, they must be managed on the production environment only.
- We cannot use the stagingcopy utility if we are using RFQ features on our production system. Before you launch our production site, create the staging environment and set up production-ready data. Deploy and test your data in the staging environment. Then, propagate to the production environment by using the stagingprop utility.
- We must manually propagate database schema changes from the staging to the production database. For example, if you create a new index or table in a production-ready data, we must manually create the index or table in the production database.
- The stagingprop utility cannot propagate records that are loaded by the Loader package (load mode) or the DB2 load utility since both bypass the staging triggers. If you used either utility, use the stagingcopy utility to resynchronize the database tables. We must never use the loading utilities (load mode) or the DB2 load utility on a production-ready data or a production database while the stagingprop, or stagingcopy utilities are running.
- Do not run the Database Cleanup utility in the staging environment except to clean the STAGLOG table.
- (Oracle) To delete a WebSphere Commerce object from the MEMBER table, review the following scenarios:
- If the deletion is not to be staged, drop the staging triggers before you run the deletion. Restore the staging triggers after the deletion is completed.
- If the deletion is to be staged, complete the following tasks:
- Delete all the related record in the child tables of MEMBER.
- Delete the MEMBER record.
- (DB2) If you delete categories on your staging environment and we want to publish these changes to your production environment, we must turn off SQL batch updates when you run the stagingprop utility. Turn SQL batch updates off by specifying setting the -batchsize parameter to 0.
Note: If your staging environment contains web activities, promotions, or content spots, we must refresh the registry before any updates display on the site. See Refreshing the registry.
Updating primary keys
The stagingprop utility does not support updating primary keys. The primary key of a table can be referenced by other data by using either explicit foreign keys or implicit ID. Because of this referencing, changing the primary key has many implications. Database management systems do not allow primary key changes when the primary key is referenced by a foreign key. To update the primary key, we can delete it or, we can update all child rows in every child table to use another primary key.
Related concepts
Staging environment utilities
Related tasks
Testing the site in a staging environment