69 lines
1.9 KiB
Elixir
69 lines
1.9 KiB
Elixir
alias RiverConnect.Hierarchy
|
|
alias RiverConnect.Hierarchy.{Spring, River, Stream, Trench}
|
|
alias RiverConnect.Repo
|
|
import Ecto.Query
|
|
|
|
# Clean up existing data to avoid conflicts
|
|
Repo.delete_all(Trench)
|
|
Repo.delete_all(Stream)
|
|
Repo.delete_all(River)
|
|
Repo.delete_all(Spring)
|
|
|
|
IO.puts("Cleaned up existing data.")
|
|
|
|
try do
|
|
# Create Spring
|
|
case Hierarchy.create_spring(%{
|
|
name: "Engineering",
|
|
type: "job",
|
|
description: "Engineering Department"
|
|
}) do
|
|
{:ok, spring} ->
|
|
IO.puts("Created Spring: #{spring.name}")
|
|
|
|
# Create River
|
|
case Hierarchy.create_river(%{
|
|
name: "Backend",
|
|
description: "Backend Team",
|
|
spring_id: spring.id
|
|
}) do
|
|
{:ok, river} ->
|
|
IO.puts("Created River: #{river.name}")
|
|
|
|
# Create Stream
|
|
case Hierarchy.create_stream(%{
|
|
name: "Elixir",
|
|
topic: "Elixir Development",
|
|
river_id: river.id
|
|
}) do
|
|
{:ok, stream} ->
|
|
IO.puts("Created Stream: #{stream.name}")
|
|
|
|
# Create Trench
|
|
case Hierarchy.create_trench(%{
|
|
name: "Architecture Discussion",
|
|
stream_id: stream.id
|
|
}) do
|
|
{:ok, trench} ->
|
|
IO.puts("Created Trench: #{trench.name}")
|
|
IO.puts("Verification Successful!")
|
|
|
|
{:error, changeset} ->
|
|
IO.inspect(changeset, label: "Trench Creation Error")
|
|
end
|
|
|
|
{:error, changeset} ->
|
|
IO.inspect(changeset, label: "Stream Creation Error")
|
|
end
|
|
|
|
{:error, changeset} ->
|
|
IO.inspect(changeset, label: "River Creation Error")
|
|
end
|
|
|
|
{:error, changeset} ->
|
|
IO.inspect(changeset, label: "Spring Creation Error")
|
|
end
|
|
rescue
|
|
e -> IO.inspect(e, label: "Unexpected Error")
|
|
end
|