Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/sql_ecto/hr/country.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ defmodule SqlEcto.Hr.Country do
use Ecto.Schema
import Ecto.Changeset

@primary_key {:country_id, :string, []}
@primary_key {:country_id, :string, autogenerate: false}

schema "countries" do

Expand Down
3 changes: 2 additions & 1 deletion lib/sql_ecto/hr/department.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ defmodule SqlEcto.Hr.Department do
use Ecto.Schema
import Ecto.Changeset

@primary_key {:department_id, :integer, []}
@primary_key {:department_id, :integer, autogenerate: false}

schema "departments" do

Expand All @@ -11,6 +11,7 @@ defmodule SqlEcto.Hr.Department do

end

@spec changeset(Ecto.Changeset.t(), any()) :: Ecto.Changeset.t()
def changeset(departments, _params) do
departments
|> validate_required(:department_name)
Expand Down
2 changes: 1 addition & 1 deletion lib/sql_ecto/hr/dependent.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ defmodule SqlEcto.Hr.Dependent do
use Ecto.Schema
import Ecto.Changeset

@primary_key {:dependent_id, :integer, []}
@primary_key {:dependent_id, :integer, autogenerate: false}

schema "dependents" do

Expand Down
3 changes: 2 additions & 1 deletion lib/sql_ecto/hr/employee.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ defmodule SqlEcto.Hr.Employee do
use Ecto.Schema
import Ecto.Changeset

@primary_key {:employee_id, :integer, []}
@primary_key {:employee_id, :integer, autogenerate: false}

schema "employees" do

Expand All @@ -18,6 +18,7 @@ defmodule SqlEcto.Hr.Employee do

end

@spec changeset(Ecto.Changeset.t(), any()) :: Ecto.Changeset.t()
def changeset(employees, _params) do
employees
|> validate_required(:last_name)
Expand Down
2 changes: 1 addition & 1 deletion lib/sql_ecto/hr/job.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ defmodule SqlEcto.Hr.Job do
use Ecto.Schema
import Ecto.Changeset

@primary_key {:job_id, :integer, []}
@primary_key {:job_id, :integer, autogenerate: false}

schema "jobs" do

Expand Down
2 changes: 1 addition & 1 deletion lib/sql_ecto/hr/location.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ defmodule SqlEcto.Hr.Location do
use Ecto.Schema
import Ecto.Changeset

@primary_key {:location_id, :integer, []}
@primary_key {:location_id, :integer, autogenerate: false}

schema "locations" do

Expand Down
2 changes: 1 addition & 1 deletion lib/sql_ecto/hr/region.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ defmodule SqlEcto.Hr.Region do
use Ecto.Schema
import Ecto.Changeset

@primary_key {:region_id, :integer, []}
@primary_key {:region_id, :integer, autogenerate: false}

schema "regions" do

Expand Down
10 changes: 10 additions & 0 deletions priv/repo/migrations/20231101035925_create_regions.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
defmodule SqlEcto.Repo.Migrations.CreateRegions do
use Ecto.Migration

def change do
create table(:regions, primary_key: false) do
add :region_id, :serial, primary_key: true
add :region_name, :string, size: 25
end
end
end
11 changes: 11 additions & 0 deletions priv/repo/migrations/20231102033546_create_countries.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
defmodule SqlEcto.Repo.Migrations.CreateCountries do
use Ecto.Migration

def change do
create table(:countries, primary_key: false) do
add :country_id, :string, primary_key: true, size: 2
add :country_name, :string, size: 40
add :region_id, references("regions", column: :region_id, type: :serial, on_update: :update_all, on_delete: :delete_all), null: false
end
end
end
16 changes: 16 additions & 0 deletions priv/repo/migrations/20231102035048_create_locations.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
defmodule SqlEcto.Repo.Migrations.CreateLocations do
use Ecto.Migration

def change do
create table("locations", primary_key: false) do
add :location_id, :serial, primary_key: true
add :street_address, :string, size: 40
add :postal_code, :string, size: 12
add :city, :string, size: 30, null: false
add :state_province, :string, size: 25
add :country_id, references("countries", type: :string, column: :country_id, on_update: :update_all, on_delete: :delete_all), null: false, size: 2

end

end
end
11 changes: 11 additions & 0 deletions priv/repo/migrations/20231102040321_create_departments.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
defmodule SqlEcto.Repo.Migrations.CreateDepartments do
use Ecto.Migration

def change do
create table("departments", primary_key: false) do
add :department_id, :serial, primary_key: true
add :department_name, :string, size: 30, null: false
add :location_id, references("locations", type: :serial, column: :location_id, on_update: :update_all, on_delete: :delete_all)
end
end
end
12 changes: 12 additions & 0 deletions priv/repo/migrations/20231102041246_create_jobs.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
defmodule SqlEcto.Repo.Migrations.CreateJobs do
use Ecto.Migration

def change do
create table(:jobs, primary_key: false) do
add :job_id, :serial, primary_key: true
add :job_title, :string, size: 35, null: false
add :min_salary, :decimal, precision: 8, scale: 2
add :max_salary, :decimal, precision: 8, scale: 2
end
end
end
18 changes: 18 additions & 0 deletions priv/repo/migrations/20231102042459_create_employees.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
defmodule SqlEcto.Repo.Migrations.CreateEmployees do
use Ecto.Migration

def change do
create table("employees", primary_key: false) do
add :employee_id, :serial, primary_key: true
add :first_name, :string, size: 20
add :last_name, :string, size: 25, null: false
add :email, :string, size: 100, null: false
add :phone_number, :string, size: 20
add :hire_date, :date, null: false
add :salary, :decimal, precision: 8, scale: 2, null: false
add :job_id, references("jobs", type: :serial, column: :job_id, on_update: :update_all, on_delete: :delete_all)
add :department_id, references("departments", type: :serial, column: :department_id, on_update: :update_all, on_delete: :delete_all)
add :manager_id, references("employees", type: :serial, column: :employee_id, on_update: :update_all, on_delete: :delete_all)
end
end
end
13 changes: 13 additions & 0 deletions priv/repo/migrations/20231102044510_create_dependents.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
defmodule SqlEcto.Repo.Migrations.CreateDependents do
use Ecto.Migration

def change do
create table("dependents", primary_key: false) do
add :dependent_id, :serial, primary_key: true
add :first_name, :string, size: 50, null: false
add :last_name, :string, size: 50, null: false
add :relationship, :string, size: 25, null: false
add :employee_id, references("employees", type: :serial, column: :employee_id, on_update: :update_all, on_delete: :delete_all), null: false
end
end
end