Derive.SideEffect.Insert (derive v0.5.4)

Copy Markdown View Source

@todo add documentation

Summary

Types

t()

@todo add documentation

Functions

@todo add documentation

@todo add documentation

@todo add documentation

@todo add documentation

@todo add documentation

Types

t()

(since 0.1.0)
@type t() :: %Derive.SideEffect.Insert{
  conflict_target: atom() | [atom()],
  on_conflict:
    :nothing
    | :raise
    | :replace_all
    | :replace_all_except_primary_key
    | {:replace, [atom(), ...]}
    | [{:inc, keyword()} | {:set, keyword()}, ...],
  record: Ecto.Schema.schema()
}

@todo add documentation

Functions

conflict_target(op, fields)

(since 0.1.0)
@spec conflict_target(
  %Derive.SideEffect.Insert{
    conflict_target: term(),
    on_conflict: term(),
    record: term()
  },
  [field, ...]
) :: t()
when field: atom()

@todo add documentation

insert(record)

(since 0.1.0)
@spec insert(record) :: t() when record: Ecto.Schema.schema()

@todo add documentation

merge(record)

(since 0.1.0)
@spec merge(record) :: t() when record: Ecto.Schema.schema()

@todo add documentation

on_conflict(op, on_conflict)

(since 0.1.0)
@spec on_conflict(
  %Derive.SideEffect.Insert{
    conflict_target: term(),
    on_conflict: term(),
    record: term()
  },
  action
) :: t()
when action:
       :raise
       | :nothing
       | :replace_all
       | :replace_all_except_primary_key
       | {:replace, [atom(), ...]}
       | [{:inc, keyword()} | {:set, keyword()}, ...]

@todo add documentation

upsert(record)

(since 0.1.0)
@spec upsert(record) :: t() when record: Ecto.Schema.schema()

@todo add documentation