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