記事
Hiroshi Sato · 2020年6月29日 2m read

ターミナルやAPIを使用してネームスペースやデータベースを作成する方法

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 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? 


※^DATABASEルーチンの各オプションについては、以下ドキュメントページをご参照ください。

^DATABASEについて【IRIS】
^DATABASEについて

10
2 0 3 91

返信

皆さん、こんにちは。

isc-generate-dbというアプリケーションを試してみてください。

日本語が下手で申し訳ありません。

 

Henriqueさん、情報ありがとうございます。
なるほど、1つのネームスペースを追加すると、コード用のデータベースとデータ用データベースを作成したり、RESTのインタフェースを作れるのですね。
いちいちデーターベースを作成しなくても良さそうです。

Henriqueさん、

(エンリケさんでOKですか?)

情報ありがとうございました。

日本語完璧ですよ