작업 모델기본
schema "jobs" do
belongs_to :status, Test.JobStatus,
foreign_key: :status_id,
references: :id,
type: :string
timestamps()
end
와 나는이 상태 모델을 가지고 : 나는 그것하지 PARAMS의 경우 (기본 작업 상태를 둘 필요가
@primary_key {:id, :string, autogenerate: false}
schema "job_statuses" do
field :title, :string
field :description, :string
end
내가 일을 삽입하고 때). 내가 belongs_to 협회의 기본값에 대해 알고 있지만이 것은 아마도 당신이 관계를 수립 할 때 기본값을 할당하기위한 것입니다. 어느 누구도 내가 새로 생성 한 작업 (기본 작업 상태 ID가 "acitve"이고 이미 데이터베이스에 있음)에 대한 기본 상태를 입력하는 방법을 알려줄 수 있습니까? 열 "status_id"에서 null 값 위반 : 샘플은이
Interactive Elixir (1.5.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Test.Jobs.create_job_status()
iex(2)> Test.Jobs.test_default_status()
이 이 이 (Postgrex.Error) ERROR 23502 (not_null_violation가)
할 프로젝트를 복제 한 후 여기 https://github.com/tanweerdev/jobs이미 null이 아닌 제약
참고 : 마이그레이션 중에 기본값을 추가하면 삽입하는 동안 오류가 발생하지 않고 상태가 제대로 동기화되지만 사용자에게 반환하는 변경 집합 개체가 변경 사항을 인식하지 못하고 null'status_id'를 반환합니다 –