1.10.0
What's Changed
There's an exiting new feature in this release: Predefined database refactorings, such as "rename the label Movie
into Film
" or "normalise all properties that have the values ja
, yes
and y
and all of nein
, no
, vielleicht
into a boolean true
respectively false
". Those refactorings are largely modeled after apoc.refactor but do not require APOC to be installed and run into pure Cypher. They even do support batching in Neo4j 4.4 or higher.
Some inspiration has been taken from @fbiville's post about Graph Refactoring: The Hard Way for the general initiative and the Merge.nodes
refactoring. Thanks for that, Florent!
The refactorings of this project here are in ac.simons.neo4j.migrations.core.refactorings
and can actually be used without the migrations itself, a connected Neo4j driver instance will be enough to use them. We will maybe extract them into a separate module or even separate library in a new org at a later stage. Until than, they will be part of the publicly maintained API here. Have a look at the document how to use them in catalogs or standalone (full example here and a list of predefined refactorings).
This feature does not have any breaking changes to the core, so 1.10.0 is a drop-in replacement of 1.9 and depending if you are using it in Spring Boot or Quarkus and your versions there, for 1.8 or 1.7, too.
🚀 Features
- cbd1075 Add refactoring
Normalize.asBoolean
. (#606) - 2ec53be Add support for running predefined refactorings. (#605)
🐛 Bug Fixes
🔄️ Refactorings
📝 Documentation
🧹 Housekeeping
Contributors
We'd like to thank the following people for their contributions: