mitgliederverwaltung/priv/repo/seeds.exs

106 lines
2.4 KiB
Elixir

# Script for populating the database. You can run it as:
#
# mix run priv/repo/seeds.exs
#
alias Mv.Membership
for attrs <- [
%{
name: "Vorname",
value_type: :string,
description: "Vorname des Mitglieds",
immutable: true,
required: true
},
%{
name: "Nachname",
value_type: :string,
description: "Nachname des Mitglieds",
immutable: true,
required: true
},
%{
name: "Geburtsdatum",
value_type: :date,
description: "Geburtsdatum des Mitglieds",
immutable: true,
required: true
},
%{
name: "Bezahlt",
value_type: :boolean,
description: "Status des Mitgliedsbeitrages des Mitglieds",
immutable: true,
required: false
},
%{
name: "Email",
value_type: :email,
description: "Email-Adresse des Mitglieds",
immutable: true,
required: true
},
%{
name: "Telefonnummer",
value_type: :phone,
description: "Telefonnummer des Mitglieds",
immutable: true,
required: false
},
%{
name: "Eintrittsdatum",
value_type: :date,
description: "Eintrittsdatum des Mitglieds",
immutable: true,
required: false
},
%{
name: "Austrittsdatum",
value_type: :date,
description: "Austrittsdatum des Mitglieds",
immutable: true,
required: false
},
%{
name: "Notiz",
value_type: :string,
description: "Notiz",
immutable: true,
required: false
},
%{
name: "Stadt",
value_type: :string,
description: "Stadt",
immutable: true,
required: false
},
%{
name: "Straße",
value_type: :string,
description: "Straße",
immutable: true,
required: false
},
%{
name: "Hausnummer",
value_type: :integer,
description: "Hausnummer",
immutable: true,
required: false
},
%{
name: "PLZ",
value_type: :string,
description: "PLZ",
immutable: true,
required: false
}
] do
Membership.create_property_type!(
attrs,
upsert?: true,
upsert_identity: :unique_name
)
end