Currently IPM supports packaging of IRIS items (classes, routines etc.) either as source files or Studio projects. Both these approaches have the following drawbacks:
- Difficulty to handle items that were deleted on upgrade
- Compilation/loading of items happens at runtime which is prone to risk
Database packaging provides the following benefits:
- An upgrade would involve simply swapping out of an IRIS.DAT file.
- We wouldn't have to deal with transactions/rollback on upgrade
- Plays better with container layers (needs more elaboration)
Some dev notes:
- IPM itself would need to be mapped from a different database when running this for a given namespace
- How to handle where IPM module persistence is stored (keep it in routine db, copy to application db, handling update steps etc.)
Currently IPM supports packaging of IRIS items (classes, routines etc.) either as source files or Studio projects. Both these approaches have the following drawbacks:
Database packaging provides the following benefits:
Some dev notes: