如果我们要使用 Zumero... 远程和本地之间的模式是否需要保持不变?因为如果我们部署应用程序,我们将无法更改本地模式。
环境:
MAC 机器中的 Xamarin.Forms,SQLite 数据库与 SQL Server 同步
如果我们要使用 Zumero... 远程和本地之间的模式是否需要保持不变?因为如果我们部署应用程序,我们将无法更改本地模式。
环境:
MAC 机器中的 Xamarin.Forms,SQLite 数据库与 SQL Server 同步
在 Zumero 中,当您在 ZSS 管理器中创建“DBFile”时,您正在定义服务器数据库的哪个子集将与客户端同步。您选择的子集的架构将在远程数据库和本地数据库之间保持相同。
从Zumero 2.0 开始,您将能够更改服务器上的架构,并且这些架构更改将在下一次同步时自动应用于每个 Zumero 客户端。(有关其工作原理以及有关如何处理某些架构更改的详细信息,请参阅 Paul Roub 链接到的文档。)
另一方面,在客户端上所做的架构更改将不会应用到服务器上。因此:您可以安全地使用CREATE TABLE
添加不会与服务器同步的“仅本地”表。但是,您不应该ALTER TABLE ... ADD COLUMN
在同步表上使用,因为 Zumero 有时会删除并重新创建表(例如,当从服务器应用架构更改时),在这种情况下,您将丢失非同步列中的所有数据。并且您不应该删除或重命名已同步的表,因为这会在同步过程中导致错误。
小心,您可以在不更改客户端架构的情况下更改服务器端架构。
如果您在服务器端添加新列,默认情况下它们不会同步到客户端数据库,除非您特别请求。
但是,如果您重命名或删除列,客户端架构将在下次同步时自动更改。如果添加/删除外键等,这同样适用,尽管这些更改不一定会给客户端应用程序带来麻烦。