ネームスペースやデータベースを作成するコマンドラインインタフェースとAPI
これはInterSystems FAQ サイトの記事です。
Config.Configurationクラス、SYS.Databaseクラスのメソッドを使用して、ネームスペース・データベースの作成及び登録をターミナルから実行することができます。
以下はデータベースファル/CacheDB/AAA/cache.datを作成し、構成ファイル(cache.cpf)にデータベース AAA、及び、ネームスペースAAAの登録を行う一連の実行例です。
*実行は、%SYSネームスペースで行って下さい。*
Set Directory="/CacheDB/AAA/"
Set x=$ZF(-100, "/shell", "mkdir", Directory)
Set db=##Class(SYS.Database).%New()
Set db.Directory=Directory
Set status=db.%Save()
Set DBName="AAA"
Set status=##class(Config.Configuration).AddDatabase(DBName,Directory)
Set NSName=DBName
Set status=##class(Config.Configuration).AddNamespace(NSName,DBName)
Set x=$ZF(-100, "/shell", "mkdir", Directory)
Set db=##Class(SYS.Database).%New()
Set db.Directory=Directory
Set status=db.%Save()
Set DBName="AAA"
Set status=##class(Config.Configuration).AddDatabase(DBName,Directory)
Set NSName=DBName
Set status=##class(Config.Configuration).AddNamespace(NSName,DBName)
リモートデータベースからネームスペースを作成する場合は、以下のデータベース定義で、第三パラメータにリモートのサーバ名を指定します。
Set status=##class(Config.Configuration).AddDatabase(DBName,Directory,Server)
※クラスの詳細については、それぞれのクラスリファレンスをご参照下さい。
また、データベースの作成・登録については、^DATABASEルーチンを使用することも可能です。
このルーチンを実行すると、下記のようにオプションが表示されますので、目的によって選択します。
以下は、データベース作成の実行例です。
*実行は、%SYSネームスペースで行って下さい。*
%SYS>do ^DATABASE 1) Create a database
2) Edit a database
3) List databases
4) Delete a database
5) Mount a database
6) Dismount a database
7) Compact a database
8) Show free space for a database
9) Show details for a database
10) Recreate a database
11) Manage database encryption
Option? 1
Database directory? D:\200820DS\Mgr\TEST2
Directory does not exist, create it? No => y
Change default database properties? No =>
Dataset name of this database in the configuration: TEST2
Mount TEST2 Required At Startup? No => y
Confirm creation of database in d:\200820ds\mgr\test2\? Yes => y
Formatting...
Database in d:\200820ds\mgr\test2\ created
Dataset TEST2 added to the current configuration.
Database directory?
2) Edit a database
3) List databases
4) Delete a database
5) Mount a database
6) Dismount a database
7) Compact a database
8) Show free space for a database
9) Show details for a database
10) Recreate a database
11) Manage database encryption
Option? 1
Database directory? D:\200820DS\Mgr\TEST2
Directory does not exist, create it? No => y
Change default database properties? No =>
Dataset name of this database in the configuration: TEST2
Mount TEST2 Required At Startup? No => y
Confirm creation of database in d:\200820ds\mgr\test2\? Yes => y
Formatting...
Database in d:\200820ds\mgr\test2\ created
Dataset TEST2 added to the current configuration.
Database directory?
※^DATABASEルーチンの各オプションについては、以下ドキュメントページをご参照ください。