【问题标题】:Neo4j Cypher LiquiGraph - make migration script idempotentNeo4j Cypher LiquiGraph - 使迁移脚本具有幂等性
【发布时间】:2018-01-08 16:08:22
【问题描述】:

我创建了以下 LiquiGraph 迁移脚本:

<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns="http://www.liquigraph.org/schema/1.0/liquigraph.xsd">

    <changeset id="initial_indexes_and_constraints" author="alex">
        <query>CREATE INDEX ON :Action(entityId)</query>
        <query>CREATE CONSTRAINT ON ( action:Action ) ASSERT action.id IS UNIQUE</query>
    </changeset>
</changelog>

如您所见 - 我在那里添加了 2 行 - 用于创建 INDEX 和 CONSTRAINT。

我想让它具有幂等性 - 这样我想检查索引或约束是否不存在,然后才创建它们。

是否可以在我的 LiquiGraph 迁移脚本中添加此类验证?如果有,请举个例子。

【问题讨论】:

    标签: neo4j cypher liquigraph


    【解决方案1】:

    一般来说,不需要通过索引或约束来检查是否存在,因为当它们已经存在时不会执行任何操作。

    例如:运行一次以下命令(使用 Neo4j 浏览器):

    CREATE CONSTRAINT ON ( action:Action ) ASSERT action.id IS UNIQUE
    

    将产生这个输出:

    Added 1 constraint, completed after 285 ms.
    

    再次运行相同的命令将产生以下输出:

    (no changes, no records)
    

    【讨论】:

    猜你喜欢
    • 2020-05-08
    • 2017-10-06
    • 1970-01-01
    • 2015-10-10
    • 2011-02-05
    • 1970-01-01
    • 2010-10-18
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多