An application that uses relationships has associated relationship
schema and data in a repository. The repository is the database configured
to hold the relationship instance data. When you uninstall such an
application from a production server, the server does not remove the
relationship schema and data from the repository. You must remove
the existing relationship schema manually. When you uninstall such
an application from a developing server, the schema and data are removed
from the repository on every application stop or start process.
Note: In an Advanced
deployment environment, the workflow server is used for
production or staging and is considered a production server. The existing relationship schema must
be removed manually when it is uninstalled. The Workflow Center server is always used as a developing or
testing server, and the schema and data are removed from the repository on every application stop or
start process in order to keep the environment clean for developing and testing use.
When you install an application containing relationships, the server
creates the corresponding database schema objects including tables,
indexes, sequences, and stored procedures. At run time, the tables
are populated with the relationship instance data. If you uninstall
the application that contains relationships, the tables and instance
data are not removed from the database. The next time the application
is installed, any new static relationship data in the application
is not populated, and if the relationship definition is changed, the
relationship table is not recreated. This can result in errors.
If you reinstall the application with the same relationship, the
old schema is reused. However, if the relationship or role definition
is modified in such a way that makes it incompatible with the existing
schema, the relationship service throws an exception and terminates
the installation of the relationship. The logs show the following
exception and message:
RelationshipServiceException("table <tablename> already exists, but the table schema is different from current role definition")
Tip: If you use the Unit Test Environment (UTE) test server
in IBM® Integration
Designer,
the relationship schema and data are removed from the repository when
an application project is removed.
The solution for this problem is to remove the existing relationship
schema artifacts manually (using the tools supplied by the database
platform of your repository), and then to reinstall the application.
To force the relationship database artifacts to be removed, use
the RelationshipDatabaseSchemaDrop script or the
dropRelationshipDatabaseSchema API
before you uninstall the application.
Note: Neither of these interfaces
will detect when a relationship is shared by other applications.
You
can also use database tools to remove the existing relationship schema
from the repository.
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-03-13 12:15