   Repo.all(OrganizationMembership) != [] ->
     IO.puts "Organization memberships detected, aborting this seed."
   true ->
-    owner = %{
-      organization_id: 1,
-      member_id: 1
-    }
-
-    %OrganizationMembership{}
-    |> OrganizationMembership.create_owner_changeset(owner)
-    |> Repo.insert!
-end
+    contributors = [
+      %{
+        organization_id: 1,
+        member_id: 1,
+        role: "owner"
+      },
+      %{
+        organization_id: 1,
+        member_id: 2,
+        role: "admin"
+      },
+      %{
+        organization_id: 1,
+        member_id: 3,
+        role: "contributor"
+      },
+      %{
+        organization_id: 1,
+        member_id: 4,
+        role: "pending"
+      }
+    ]
+
+    Enum.each(contributors, fn user ->
+      membership =
+        %OrganizationMembership{}
+        |> OrganizationMembership.create_changeset(user)
+        |> Repo.insert!
+
+      membership
+      |> OrganizationMembership.update_changeset(user)
+      |> Repo.update!
+    end)
+end
+
+cond do
+  Repo.all(UserCategory) != [] ->
+    IO.puts "User categories detected, aborting this seed."
+  true ->
+    user_categories = [
+      %{
+        category_id: 1,
+        user_id: 1
+      },
+      %{
+        category_id: 1,
+        user_id: 2
+      },
+      %{
+        category_id: 1,
+        user_id: 3
+      },
+      %{
+        category_id: 1,
+        user_id: 4
+      }
+    ]
+
+    Enum.each(user_categories, fn user_category ->
+      %UserCategory{}
+      |> UserCategory.create_changeset(user_category)
+      |> Repo.insert!
+    end)
+end
+
+cond do
+  Repo.all(UserRole) != [] ->
+    IO.puts "User roles detected, aborting this seed."
+  true ->
+    user_roles = [
+      %{
+        role_id: 1,
+        user_id: 1
+      },
+      %{
+        role_id: 1,
+        user_id: 2
+      },
+      %{
+        role_id: 1,
+        user_id: 3
+      },
+      %{
+        role_id: 1,
+        user_id: 4
+      }
+    ]
+
+    Enum.each(user_roles, fn user_role ->
+      %UserRole{}
+      |> UserRole.create_changeset(user_role)
+      |> Repo.insert!
+    end)
+end
+
+cond do
+  Repo.all(UserSkill) != [] ->
+    IO.puts "User skills detected, aborting this seed."
+  true ->
+    user_skills = [
+      %{
+        skill_id: 1,
+        user_id: 1
+      },
+      %{
+        skill_id: 1,
+        user_id: 2
+      },
+      %{
+        skill_id: 1,
+        user_id: 3
+      },
+      %{
+        skill_id: 1,
+        user_id: 4
+      }
+    ]
+
+    Enum.each(user_skills, fn user_skill ->
+      %UserSkill{}
+      |> UserSkill.create_changeset(user_skill)
+      |> Repo.insert!
+    end)
+end

    IO.puts "Users detected, aborting user seed."
  true ->
    Enum.each(users, fn user ->
      %User{}
      |> User.registration_changeset(user)
      |> Repo.insert!
    end)
end


        number: i,
        project_id: 1,
        user_id: 1,
        task_list_id: Enum.random([1, 2, 3, 4])
      })
      |> Repo.insert!
    end
