2007年9月21日金曜日

Magma

SqueakでDBを扱いたい!ということで,Magmaというオブジェクトデーターベースを使ってみました.
日本語も何もパッチを当てずに保存できるのでびっくり.

僕のやりたいことができそうです.

参考にしたのはSqueak Wikiで

Magma
http://wiki.squeak.org/squeak/2665

です.

英語なので,ちょっと抵抗があったのですが扱い方も簡単.
(もし間違った説明をしていたら指摘してください)


mypath := FileDirectory default fullName. "保存先のディレクトリパス"

"リポジトリを作成"
MagmaRepositoryController
create: mypath
root: Dictionary new.

"ローカルでセッション開始"
mySession := MagmaSession openLocal:mypath.
mySession connectAs: 'ringo'.

"コミット"
mySession commit:
[ mySession root
at: 'persons'
put: (OrderedCollection with: ('りんごです')) ].

"データの取り出し"
mySession root at:'persons'.

"セッションを閉じ,リポジトリも閉じる"
mySession disconnect; closeRepository.

これで僕の大学での仕事が楽になりそうです.

ただここで思ったのはrootでDictionaryとして作ったこと.
Dictionaryは順序がないので・・・.

こんなRubyみたいに順序付きのDictionary(OrederedHash)があれば,いいのにと思います.
こんど作ることができないかチャレンジしたいと思います.


MagmaCollectionというのがあるみたいです.
詳しくはまた後日.

0 件のコメント: