我开始研究一个Java项目,其中选择的数据库是Azure Cosmos DB SQL API,因此阅读SQL API Cosmos DB introduction后,我了解到SQL在这种情况下仅用于查询,而不用于数据操作(插入,删除)。 问题是:对于这种数据库使用像Flyway / Liquibase这样的模式迁移工具是否有意义?
答案 0 :(得分:1)
CosmosDb在数据库级别不支持任何模式。它是无架构的,带有索引机制,该索引机制允许有效查询任意JSON数据。因此,在这种情况下,SQL模式迁移工具没有任何意义,也无法正常工作。由您的应用程序代码决定是否将数据标准化并在必要时迁移到新格式。
答案 1 :(得分:1)
聚会有点晚,但我认为这可能会有所帮助:https://github.com/liquibase/liquibase-cosmosdb。它是 Liquibase for Cosmos DB 的扩展。所以,几乎就是您要找的东西!