mirror of
https://github.com/ash-project/ash_postgres.git
synced 2024-09-20 05:23:18 +12:00
44 lines
962 B
Elixir
44 lines
962 B
Elixir
defmodule AshPostgres.Statement do
|
|
@moduledoc false
|
|
defstruct [
|
|
:name,
|
|
:up,
|
|
:down,
|
|
:code?
|
|
]
|
|
|
|
@schema [
|
|
name: [
|
|
type: :atom,
|
|
required: true,
|
|
doc: """
|
|
The name of the statement, must be unique within the resource
|
|
"""
|
|
],
|
|
code?: [
|
|
type: :boolean,
|
|
default: false,
|
|
doc: """
|
|
Whether the provided up/down should be treated as code or sql strings.
|
|
|
|
By default, we place the strings inside of ecto migration's `execute/1`
|
|
function and assume they are sql. Use this option if you want to provide custom
|
|
elixir code to be placed directly in the migrations
|
|
"""
|
|
],
|
|
up: [
|
|
type: :string,
|
|
doc: """
|
|
How to create the structure of the statement
|
|
""",
|
|
required: true
|
|
],
|
|
down: [
|
|
type: :string,
|
|
doc: "How to tear down the structure of the statement",
|
|
required: true
|
|
]
|
|
]
|
|
|
|
def schema, do: @schema
|
|
end
|