4.4 Edit a Workspace
The Edit Workspace process can be time-consuming, typically may take between 2 to 3 hours. However, if certain scenarios are not carefully considered, the update may encounter failures, leading to unwanted delays. To prevent such setbacks and ensure a seamless update, it is crucial to address these potential issues beforehand.
The possible issue and solution are as follows:
- Adding Views, Materialized Views, or Triggers without
selecting their respective parent tables
- Issue: If a user adds views, materialized views, or triggers without confirming the selection of their corresponding parent tables, it can lead to the failure of the edit workspace update.
- Solution: It is essential to verify that all dependent objects, such as Views, Materialized views, and Triggers, have their corresponding parent tables included in the selection before initiating the update process.
- Manually adding additional tables in the target Workspace
Schema instead of using Workspace functionality
- Issue: If a user manually creates a table (for example, ABC) in both the Source and Target schemas, independent of the workspace functionality, and then tries to map it to an existing workspace, the edit process may fail.
- Solution: To resolve this issue, execute the
following API with the respective headers and payload.
- HTTP Method: POST
- URL: http(s)://<MMG_BE_HOSTNAME>:<MMG_BE_PORT>/<MMG_CONTEXT_NAME>/dmm-service/v1/modelupload/dbcatalog
- Header Parameter:
- ofs_workspace_id: MMG Workspace Code.
- ofs_remote_user: Login User of the application.
- locale: Locale in languageCode-countryCode format. The values should be en-US.
- ofs_service_id: Target Workspace Data Store Name.
- ofs_connection_type: Connection type and the value shoule be OFSAA-DATA.
- Payload:
- Case 1: This will retrieve all table
definitions, and since the list is empty, it will
fetch all tables, making the process
time-consuming.
{ "tableNames":[] }
- Case 2: This will retrieve only the
tables specified in the request body. If you want to
include specific tables, ensure they are
listed.
{ "tableNames":["A","B"] }
- Case 1: This will retrieve all table
definitions, and since the list is empty, it will
fetch all tables, making the process
time-consuming.
- Response: The response will serve as an
acknowledgment that the request has been received, and it will be
asynchronous due to the time-consuming nature of the process.
- Success:
{ "status": "received", "errorMessage": null, "additionalInfo": null }
- Error:
{ "status": "error", "errorMessage": <Error Message>, "additionalInfo": null }
Once the execution is successful, utilize the workspace edit functionality to update the workspace by selecting the externally created table. This update is expected to proceed without issues.
- Success:
To edit a workspace, follow these steps: