2015-10-27 7 views
5

イメージベースの永続性を使用するアプリケーションを実際に展開するにはどうすればよいですか?私のシナリオは次のとおりです。SmalltalkにCMSを書きます。その場合、ほとんどの場合、データはほとんど読み込まれず、ほとんど書き込まれません。誰かがデータを書き込むたびに、イメージのスナップショットを撮ることができます。しかし、私はどのように私のアプリの新しいバージョンを導入し、実行中のアプリの状態を引き継ぐだろうか?イメージ以外のシリアライズ/データ永続化の形式を必要としないでしょうか? ありがとうSmalltalk/Pharoイメージベースの永続性 - 展開方法

答えて

1

最も簡単な方法は、Monticelloを使用して新しいバージョンを取得することです。そして、これらのケースであなたは関係なく、自分の永続化メカニズムの代わりに、移行戦略を必要とするだろう - あなたは(たとえば、instvarsを削除または名前変更)のクラスの形状を変更した場合を除いて、既存のデータに影響はありません

もちろん、更新する前にイメージをスナップショットしておくと、簡単に元に戻すことができます。

1

Pier3では、CMSデータをコードに変換して、Monticelloパッケージとして書き出すことができます。私たちはコンテンツをローカルピアイメージに書き込んでコミットし、gitを使って新しいバージョンをクラウド内のサーバーにプッシュできます。そこで、gitディレクトリをポーリングして新しいバージョンを見つけてロードする単純なループを実行します。