Создание ограничений в Neo4j 4.0.1 вызывает исключения - PullRequest
0 голосов
/ 10 марта 2020

У меня есть Flask веб-приложение, использующее Neo4j. После того, как я обновил Neo4j с версии 3.5.15 до 4.0.1, я начал получать исключения для создания моего ограничения.

Ограничения созданы в моем __init__.py и выглядят так:

try:
statement=("CREATE CONSTRAINT platform_name ON (p:platform) ASSERT p.name IS UNIQUE")
statement1=("CREATE CONSTRAINT domain_name ON (d:domain) ASSERT d.name IS UNIQUE")
statement2=("CREATE CONSTRAINT quality_name ON (q:quality) ASSERT q.name IS UNIQUE")
statement3=("CREATE CONSTRAINT username ON (u:user) ASSERT u.username IS UNIQUE")
statement4=("CREATE CONSTRAINT aspect_name ON (a:aspect) ASSERT a.name IS UNIQUE")
statement5=("CREATE CONSTRAINT quality_group_name ON (g:quality_group) ASSERT g.name IS UNIQUE")
with driver.session() as session:
    tx=session.begin_transaction()
    tx.run(statement)
    tx.commit()
    tx=session.begin_transaction()
    tx.run(statement1)
    tx.commit()
    tx=session.begin_transaction()
    tx.run(statement2)
    tx.commit()
    tx=session.begin_transaction()
    tx.run(statement3)
    tx.commit()
    tx=session.begin_transaction()
    tx.run(statement4)
    tx.commit()
    tx=session.begin_transaction()
    tx.run(statement5)
    tx.commit()
    session.close()

except:
    print("error:",sys.exc_info())
    pass

Я получаю сообщение об ошибке:

(, ClientError («Эквивалентное ограничение уже существует,« Constraint (UNIQUE,: platform (name)) ».»),)

Странно то, что я получаю эту ошибку даже при первом запуске на новой базе данных или даже после того, как я вручную отбрасываю все ограничения из графика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...