我是否可以在不更改Zumero同步客户端架构的情况下更改服务器端架构?

时间:2015-05-19 06:05:53

标签: ios sqlite xamarin.forms zumero

如果我们要使用Zumero ......远程和本地之间的架构是否需要保持不变?因为如果我们部署应用程序,我们将无法更改本地架构。

环境:

MAC机器中的Xamarin.Forms,SQLite数据库与SQL Server同步

2 个答案:

答案 0 :(得分:2)

在Zumero中,当您在ZSS Manager中创建“DBFile”时,您将定义服务器数据库的哪个子集将与客户端同步。您选择的子集的模式将在远程数据库和本地数据库之间保持相同。

Zumero 2.0开始,您将能够更改服务器上的架构,并且这些架构更改将在下次同步时自动应用于每个Zumero客户端。 (请参阅Paul Roub关于其工作原理的文档以及有关如何处理某些架构更改的详细信息。)

另一方面,客户端上进行的架构更改将不会应用于服务器。因此:您可以安全地使用CREATE TABLE添加“仅本地”表,这些表不会与服务器同步。但是,您不应在同步表上使用ALTER TABLE ... ADD COLUMN,因为Zumero有时会删除并重新创建表(例如,从服务器应用模式更改时),在这种情况下,您将丢失未同步列中的所有数据。并且您不应该删除或重命名同步表,因为这会在同步过程中导致错误。

答案 1 :(得分:0)

With care,您可以在不更改客户端架构的情况下更改服务器端架构。

如果您在服务器端添加新列,默认情况下它们将同步到客户端数据库,除非您特别要求。

但是,如果重命名或删除列,则客户端架构在下次同步时自动更改。如果添加/删除了外键等,这同样适用,尽管这些更改不一定会给客户端应用程序带来麻烦。