Environment:
macOS
Docker (docker compose up --build)
Steps to Reproduce:
Import the first system JSON via POST /api/v1/metadata/systems/import/.
Prepare a second JSON from the same source system with some modifications (e.g., diagrams, nodes, edges, metadata).
Ensure the second JSON uses the same system.id and diagram IDs as the first JSON.
Import the second JSON using the same endpoint.
Expected Behavior:
Importing a system JSON with the same system.id should create a new version of the system instead of conflicting with existing records.
Actual Behavior:
The second import fails with a database duplicate key / integrity error.
The system attempts to insert records (system, diagrams, nodes, edges, classifiers, relations, interfaces) with IDs that already exist.
Additional Notes:
The issue occurs when the second JSON represents an updated version of the same system, not a different system.
Both JSON files belong to the same project context.
The second JSON intentionally reuses the same identifiers to reflect version updates.
Notes / Attachments
initial_activity_model.json
refined_activity_model.json
Environment:
macOS
Docker (docker compose up --build)
Steps to Reproduce:
Import the first system JSON via POST /api/v1/metadata/systems/import/.
Prepare a second JSON from the same source system with some modifications (e.g., diagrams, nodes, edges, metadata).
Ensure the second JSON uses the same system.id and diagram IDs as the first JSON.
Import the second JSON using the same endpoint.
Expected Behavior:
Importing a system JSON with the same system.id should create a new version of the system instead of conflicting with existing records.
Actual Behavior:
The second import fails with a database duplicate key / integrity error.
The system attempts to insert records (system, diagrams, nodes, edges, classifiers, relations, interfaces) with IDs that already exist.
Additional Notes:
The issue occurs when the second JSON represents an updated version of the same system, not a different system.
Both JSON files belong to the same project context.
The second JSON intentionally reuses the same identifiers to reflect version updates.
Notes / Attachments
initial_activity_model.json
refined_activity_model.json