2019-05-20 18:03:59 -04:00
# Database Cleaner Adapter for Neo4j
2018-05-26 03:00:18 -04:00
2019-05-20 18:03:59 -04:00
[![Build Status ](https://travis-ci.org/DatabaseCleaner/database_cleaner-neo4j.svg?branch=master )](https://travis-ci.org/DatabaseCleaner/database_cleaner-neo4j)
[![Code Climate ](https://codeclimate.com/github/DatabaseCleaner/database_cleaner-neo4j/badges/gpa.svg )](https://codeclimate.com/github/DatabaseCleaner/database_cleaner-neo4j)
2018-05-26 03:00:18 -04:00
2019-05-20 18:03:59 -04:00
Clean your Neo4j databases with Database Cleaner.
2018-05-26 03:00:18 -04:00
2019-05-20 18:03:59 -04:00
See https://github.com/DatabaseCleaner/database_cleaner for more information.
2018-05-26 03:00:18 -04:00
2019-05-20 18:03:59 -04:00
## Installation
2018-05-26 03:00:18 -04:00
```ruby
2019-05-20 18:03:59 -04:00
# Gemfile
group :test do
gem 'database_cleaner-neo4j'
end
2018-05-26 03:00:18 -04:00
```
2019-05-20 18:21:44 -04:00
## Supported Strategies
< table >
< tbody >
< tr >
< th > Truncation< / th >
< th > Transaction< / th >
< th > Deletion< / th >
< / tr >
< tr >
< td > Yes< / td >
< td > < b > Yes< / b > < / td >
< td > Yes< / td >
< / tr >
< / tbody >
< / table >
(Default strategy is denoted in bold)
2019-05-20 18:03:59 -04:00
## Configuration options
2019-05-20 13:50:40 -04:00
< table >
< tbody >
< tr >
< th > ORM< / th >
< th > How to access< / th >
< th > Notes< / th >
< / tr >
< tr >
< td > Neo4j< / td >
< td > < code > DatabaseCleaner[:neo4j]< / code > < / td >
< td > Database type and path(URI) < code > DatabaseCleaner[:neo4j, connection: {type: :server_db, path: 'http://localhost:7475'}].< / code > < / td >
< / tr >
< / tbody >
< / table >
2019-05-20 18:03:59 -04:00
Note that Truncation and Deletion strategies for Neo4j will just delete all nodes and relationships from the database.
2019-05-20 13:50:40 -04:00
## Common Errors
### Model fails to load with Neo4j using transactions
When you are using [neo4j ](https://github.com/neo4jrb/neo4j ) gem it creates schema and reads indexes upon loading models. These operations can't be done during a transaction. You have to preload your models before DatabaseCleaner starts a transaction.
2019-05-20 18:03:59 -04:00
Add to your rails_helper or spec_helper after requiring database_cleaner-neo4j:
2019-05-20 13:50:40 -04:00
```ruby
2019-05-20 18:03:59 -04:00
require 'database_cleaner/neo4j'
2019-05-20 13:50:40 -04:00
Dir["#{Rails.root}/app/models/**/*.rb"].each do |model|
load model
end
```
2018-05-26 03:00:18 -04:00
2019-05-20 18:03:59 -04:00
## COPYRIGHT
2018-05-26 03:00:18 -04:00
2019-05-20 18:03:59 -04:00
See [LICENSE] for details.