abstract class %ZAPM.ext.database
Utility for creating and deleting databases with one command
Create DataBase and Namespace with CSP, REST application
Forked from https://openexchange.intersystems.com/package/isc-generate-db
Added resource and role creation for the database. (Many modules ZPM require MatchRoles=":{$dbrole}")
Added deletion of DataBases, role resources and Namespace.
Adding rest application is optional.
example:
write $System.Status.GetErrorText(##class(%ZAPM.ext.database).CreateDBNS("TESTDB2"))
write $System.Status.GetErrorText(##class(%ZAPM.ext.database).DeleteDBNS("TESTDB2"))
create db and namespace without resource and role
write $System.Status.GetErrorText(##class(%ZPM.PackageManager.Developer.UnitTest.Utils).CreateNamespace("testdb14"))
write $System.Status.GetErrorText(##class(%ZPM.PackageManager.Developer.UnitTest.Utils).DeleteNamespace("testdb14"))
• parameter DATABASENAME;
• parameter LIBRARY;
• parameter SYSGLOBALS;
• parameter TEMPGLOBALS;
• classmethod CheckDatabaseDirExists(directory As %String)
as %Status
Checks if database directory exist
• classmethod CheckDatabaseExists(directory As %String)
as %Status
Checks if database directory exist
• classmethod CreateDBNS(pNamespace As %String, pCodeData As %Boolean = 0, pPathDataset As %String = "", pInterOperability As %Boolean = 1, pREST As %String = "")
as %Status
write ##class(%ZAPM.ext.database).CreateDBNS("NEWNS")
• classmethod CreateResource(dbName As %String, Permiss As %String = "RW")
as %Status
Create new Resource
w $system.Status.GetErrorText(##class(%ZAPM.ext.database).CreateResource("DSW-DATA"))
• classmethod CreateRole(dbName As %String)
as %Status
Create new Role
w $system.Status.GetErrorText(##class(%ZAPM.ext.database).CreateRole("SWAGGERUI-CODE"))
• classmethod DeleteDBNS(pNamespace)
as %Status
w $system.Status.GetErrorText(##class(%ZAPM.ext.database).DeleteDBNS("SWAGGERUI", 0))
• classmethod DeleteResource(dbName As %String)
as %Status
Delete Resource
w $system.Status.GetErrorText(##class(%ZAPM.ext.database).DeleteResource("DSWDATA"))
• classmethod DeleteRole(dbName As %String)
as %Status
Delete Role
w $system.Status.GetErrorText(##class(%ZAPM.ext.database).DeleteRole("DSWDATA"))
• classmethod DismountDB(Database)
as %Status
write $System.Status.GetErrorText(##class(%ZAPM.ext.database).DismountDB("PROD"))
• classmethod DismountListDB(Database)
as %Status
zn "app" w $System.Status.GetErrorText(##class(%ZAPM.ext.database).DismountListDB("DOJO"))
• classmethod GetDatabaseDirectory(pNamespace As %String)
as %String
Get database directory
• classmethod Init()
as %Status
• classmethod Install(pNamespace As %String, pCodeData As %Boolean = 1, pPathDataset As %String = "", pInterOperability As %Boolean = 0, pREST As %String = "")
as %Status
• classmethod SetReadOnly(Database="irislib", readonly=1)
as %Status
write $System.Status.GetErrorText(##class(%ZAPM.ext.database).SetReadOnly())
• classmethod createRESTApp(pNamespace As %String, DispatchClass="REST.Dispatch")
as %Status
Create REST Application
Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.