Smalltalk / Pharo基于图像的持久性 - 如何部署?

时间:2015-10-27 11:00:54

标签: smalltalk pharo

我如何实际部署使用基于图像的持久性的应用程序?这是我的场景:我在Smalltalk中编写CMS。在这种情况下,数据主要是读取的,很少写入。现在,每当有人写数据时,我都可以拍摄图像的快照。但是,我如何介绍我的应用程序的新版本并继续运行应用程序的状态?我不需要除图像之外的某种形式的序列化/数据持久性吗? 感谢

2 个答案:

答案 0 :(得分:1)

在Pier3中,我们可以将CMS数据转换为代码并将其作为Monticello包写出来。我们可以在本地Pier映像中编写内容,提交并git将新版本推送到云中的服务器。在那里,我们运行一个简单的循环,轮询git目录以查找新版本并加载它。

答案 1 :(得分:1)

最简单的方法是使用Monticello引入新版本。

除非您更改了类的形状(例如,删除或重命名instvars),否则不应影响现有数据 - 在这些情况下,您需要制定迁移策略无论你的持久性机制如何。

当然,如果您在更新之前对图像进行快照,那么回滚很简单。