我如何实际部署使用基于图像的持久性的应用程序?这是我的场景:我在Smalltalk中编写CMS。在这种情况下,数据主要是读取的,很少写入。现在,每当有人写数据时,我都可以拍摄图像的快照。但是,我如何介绍我的应用程序的新版本并继续运行应用程序的状态?我不需要除图像之外的某种形式的序列化/数据持久性吗? 感谢
答案 0 :(得分:1)
在Pier3中,我们可以将CMS数据转换为代码并将其作为Monticello包写出来。我们可以在本地Pier映像中编写内容,提交并git将新版本推送到云中的服务器。在那里,我们运行一个简单的循环,轮询git目录以查找新版本并加载它。
答案 1 :(得分:1)
最简单的方法是使用Monticello引入新版本。
除非您更改了类的形状(例如,删除或重命名instvars),否则不应影响现有数据 - 在这些情况下,您需要制定迁移策略无论你的持久性机制如何。
当然,如果您在更新之前对图像进行快照,那么回滚很简单。