Phoenix.Sync.Writer.Operation (Phoenix.Sync v0.6.1)
View SourceRepresents a mutation operation received from a client.
To handle custom formats, translate incoming changes into a Operation
struct using new/4.
Summary
Functions
Takes data from a mutation and validates it before returning a struct.
Types
Functions
Takes data from a mutation and validates it before returning a struct.
Parameters
- operationone of- "insert",- "INSERT",- :insert,- :INSERT,- "update",- "UPDATE",- :update,- :UPDATE,- "delete",- "DELETE",- :delete,- :DELETE
- tablethe client table name for the write. Can either be a plain string name- "table"or a list with- ["schema", "table"].
- datathe original values (see Updates vs Inserts vs Deletes)
- changesany updates to apply (see Updates vs Inserts vs Deletes)
Updates vs Inserts vs Deletes
The Phoenix.Sync.Writer.Operation struct has two value fields, data and changes.
data represents what's already in the database, and changes what's
going to be written over the top of this.
For insert operations, data is ignored so the new values for the
inserted row should be in changes.
For deletes, changes is ignored and data should contain the row
specification to delete. This needn't be the full row, but must contain
values for all the primary keys for the table.
For updates, data should contain the original row values and changes
the changed fields.
These fields map to the arguments Ecto.Changeset.change/2 and
Ecto.Changeset.cast/4 functions, data is used to populate the first
argument of these functions and changes the second.