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)