Saltar al contenido

neo4j cómo eliminar todas las restricciones

Solución:

Tenga en cuenta que con APOC puede eliminar todos los índices y restricciones a través de CALL apoc.schema.assert({}, {}).

Puede obtener una lista de todos los índices y restricciones a través de solicitudes GET para http://localhost:7474/db/data/schema/constraint/ y http://localhost:7474/db/data/schema/index. Así es como lo hago en Ruby, tal vez te dé una idea de cómo hacer lo mismo en Node.

c.after(:all) do
  conn = Faraday.new(url: "http://localhost:7474")
  response = conn.get('/db/data/schema/constraint/')
  constraints = JSON.parse(response.body)
  constraints.each do |constraint|
    Neo4j::Session.query("DROP CONSTRAINT ON (label:`#{constraint['label']}`) ASSERT label.#{constraint['property_keys'].first} IS UNIQUE")
  end 

  response = conn.get('/db/data/schema/index/')
  indexes = JSON.parse(response.body)
  indexes.each do |index|
    Neo4j::Session.query("DROP INDEX ON :`#{index['label']}`(#{index['property_keys'].first})")
  end
end

Así es como hago esto en Python:

    s = connection.get_session()

    # Drop constraints / indices
    for constraint in s.run("CALL db.constraints"):
        s.run("DROP " + constraint[0])

Se siente un poco asqueroso, siento que las restricciones deberían ser algo mejor soportado.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *