You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ROOT/pages/migration/index.adoc
+30-25Lines changed: 30 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -23,11 +23,13 @@ Here is a list of all the breaking changes from version 6.0.0 to 7.0.0.
23
23
24
24
=== Removed the `@unique` directive
25
25
26
-
The `@unique` directive is no longer supported.
26
+
The `@unique` directive is no longer supported.
27
+
It cannot always be reliably enforced, potentially leading to data inconsistencies that don't match the schema.
27
28
28
29
=== Removed implicit filtering fields
29
30
30
-
Implicit equality filtering fields have been removed. You must now use the dedicate input versions:
31
+
Implicit equality filtering fields have been removed.
32
+
Use the dedicated `eq` field instead:
31
33
32
34
[cols="1,1"]
33
35
|===
@@ -57,9 +59,9 @@ The `implicitEqualFilters` option of `excludeDeprecatedFields` has been removed.
57
59
58
60
=== Required `@node` directive
59
61
60
-
The `@node` directive is now required. GraphQL Object types without the `@node` directive will no longer be considered as Neo4j Node representations.
61
-
62
-
Queries and Mutations will be generated only for types with the `@node` directive.
62
+
The `@node` directive is now required.
63
+
GraphQL object types without the `@node` directive are no longer considered Neo4j node representations.
64
+
Queries and mutations are only generated for types with the `@node` directive.
63
65
64
66
[cols="1,1"]
65
67
|===
@@ -86,7 +88,7 @@ type Movie @node {
86
88
87
89
The deprecated `options` argument has been removed.
88
90
89
-
Consider the following type definitions:
91
+
Consider the following type definition:
90
92
91
93
[source, graphql, indent=0]
92
94
----
@@ -95,7 +97,7 @@ type Movie @node {
95
97
}
96
98
----
97
99
98
-
The migration is as below:
100
+
The following shows the difference for options:
99
101
100
102
[cols="1,1"]
101
103
|===
@@ -125,13 +127,13 @@ The `deprecatedOptionsArgument` option of `excludeDeprecatedFields` has been rem
125
127
126
128
=== Removed the deprecated `directed` argument
127
129
128
-
The deprecated `directed` argument has been removed from queries. This argument previously allowed you to specify whether relationships should be directed or undirected at query time.
129
-
130
-
Please use the `queryDirection` argument of the `@relationship` directive instead.
130
+
The deprecated `directed` argument has been removed from queries.
131
+
This argument previously allowed you to specify whether relationships should be directed or undirected at query time.
132
+
Use the `queryDirection` argument of the `@relationship` directive instead.
131
133
132
134
The `directedArgument` option of `excludeDeprecatedFields` has been removed.
133
135
134
-
=== Accepted values of the `queryDirection` argument of `@relationship` has been changed
136
+
=== Changed the accepted values of the `queryDirection` argument of `@relationship`
135
137
136
138
Following the removal of the `directed` argument, the `queryDirection` argument of the `@relationship` directive now only accepts two possible values:
137
139
@@ -145,9 +147,10 @@ The following values are no longer supported:
145
147
- `DIRECTED_ONLY`
146
148
- `UNDIRECTED_ONLY`
147
149
148
-
=== The deprecated `typename_IN` filter has been removed
150
+
=== Removed the deprecated `typename_IN` filter
149
151
150
-
The deprecated `typename_IN` filter has been removed, please use `typename` instead.
152
+
The deprecated `typename_IN` filter has been removed.
153
+
Use `typename` instead.
151
154
152
155
[cols="1,1"]
153
156
|===
@@ -179,7 +182,7 @@ The `typename_IN` option of `excludeDeprecatedFields` has been removed.
179
182
180
183
`ID` fields are excluded from aggregation selection sets and aggregation filters.
181
184
182
-
=== Single element relationships have been removed
185
+
=== Removed single element relationships
183
186
184
187
Single element relationships have been removed in favor of list relationships:
185
188
@@ -203,7 +206,8 @@ type Movie @node {
203
206
----
204
207
|===
205
208
206
-
Single element relationships cannot be reliably enforced, leading to data inconsistent with the schema. If the GraphQL model requires 1-1 relationships (such as in federations) these can now be achieved with the `@cypher` directive instead:
209
+
Single element relationships cannot be reliably enforced, leading to data inconsistent with the schema.
210
+
If the GraphQL model requires one-to-one relationships (such as in federations) these can now be created with the `@cypher` directive instead:
207
211
208
212
[source, graphql, indent=0]
209
213
----
@@ -219,13 +223,14 @@ type Movie @node {
219
223
}
220
224
----
221
225
222
-
=== Connect `overwrite` argument has been removed
226
+
=== Removed the connect `overwrite` argument
223
227
224
228
The `overwrite` argument has been removed in connect operations.
225
229
226
230
In version 7.0.0, connect operations have been simplified to always create a new relationship between nodes, regardless of whether a relationship already exists.
231
+
See xref:#connect-operation-details[].
227
232
228
-
If you need to update an existing relationship instead of creating a new one, use the `update` operation:
233
+
If you must update an existing relationship instead of creating a new one, use the `update` operation:
229
234
230
235
[source, graphql, indent=0]
231
236
----
@@ -251,9 +256,10 @@ mutation {
251
256
252
257
The `connectOrCreate` operation has been removed due to limitations on its feature set when compared to other operations.
253
258
254
-
=== Aggregate fields outside connection fields have been removed
Deprecated aggregate fields have been removed from the schema. Use aggregation fields within the connection selection set instead.
261
+
Deprecated aggregate fields have been removed from the schema.
262
+
Use aggregation fields within the connection selection set instead.
257
263
258
264
[cols="1,1"]
259
265
|===
@@ -288,9 +294,7 @@ The `deprecatedAggregateOperations` option has been removed from the `excludeDep
288
294
=== Subscriptions are now opt-in
289
295
290
296
Subscriptions are no longer automatically generated for all `@node` types.
291
-
292
297
In version 7.x, the `@subscription` directive is required to enable this functionality.
293
-
294
298
You must now explicitly enable subscriptions using the `@subscription` directive in one of two ways:
295
299
296
300
- At the schema level to enable subscriptions for all types:
@@ -312,14 +316,15 @@ type Movie @node @subscription {
312
316
=== Removed `publish` method from `Neo4jGraphQLSubscriptionsEngine`
313
317
314
318
The `publish` method has been removed from the `Neo4jGraphQLSubscriptionsEngine` interface as it is no longer used with Change Data Capture (CDC) based subscriptions.
315
-
316
319
Implementing this method on custom engines will no longer have an effect, and it is no longer possible to call `publish` directly on `Neo4jGraphQLSubscriptionsCDCEngine`.
317
320
321
+
[[connect-operation-details]]
318
322
=== Connect operations now support multiple relationships between the same nodes
319
323
320
-
The connect operations have been enhanced to support creating multiple relationships between the same pair of nodes. When performing a connect operation between two nodes, a new relationship will always be created, even if one or more relationships of the same type already exist between those nodes.
321
-
322
-
This enables modeling scenarios where multiple distinct relationships of the same type are needed between the same nodes. For example, an actor playing multiple roles in the same movie.
324
+
The connect operations have been enhanced to support creating multiple relationships between the same pair of nodes.
325
+
When performing a connect operation between two nodes, a new relationship is always created, even if one or more relationships of the same type already exist between those nodes.
326
+
This enables modeling scenarios where multiple distinct relationships of the same type are needed between the same nodes.
327
+
For example, an actor playing multiple roles in the same movie.
323
328
324
329
=== Changed behavior for multiple relationships between nodes
0 commit comments