Is there a way to update SQLITE database using deltas?

☆樱花仙子☆ 提交于 2019-12-09 10:53:48

问题


I would like to know if SQLite proposes a update mechanism based on some delta file, to be clear for example an Oracle database can be synchronized with sql redo logs or snapshot logs.

Does SQLite proposes an optimized mechanism to update itself.

My use case is the following, I have a local database which must be synchronized with some remote data, in ideal world I would like to build in an optimized format the changes and only them, not all the database, is there some native SQLite mechanism or must I implement a custom one ?

Thank you


回答1:


We have this exact same requirement and we have met this by writing insert/update/delete statements which when executed against a SQLLite database updates it.

We have a central SQLLite database which is updated from some source. The updates then are required to be propagated to other SQLLite databases. What we do is we generate SQL Scripts and execute them against the databases which needs to be updated.

Something similar will help achieve what you are looking for




回答2:


The subject is now covered in another SO questions: How can I diff 2 SQLite files?

In short, there's now a built-in tool to diff two sqlite databases.




回答3:


You need a custom solution. there is nothing built-in to SQLite to do this automatically.

Note that you can write a query that spans multiple databases. Using this you can update one database from data in another entirely within SQLite. You still need to put the logic in yourself though.

http://www.sqlite.org/lang_attach.html



来源:https://stackoverflow.com/questions/11754604/is-there-a-way-to-update-sqlite-database-using-deltas

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!