insert_all이 created_dates를 자동으로 추가하지 않으므로 datetime을 넣으려고하고 있는데 잘못된 것을 알 수 없습니다.Ecto 삽입시의 날짜 시간 오류
currentTime = DateTime.utc_now
query = from rm in ChatApp.Roles.RoleMasters,
join: srp in ChatApp.Servers.ServerTypeParameters,
where: srp.parameter_role_capable_flag == "Y",
select: %{role_master_id: rm.id, server_type_code: srp.server_type_code, parameter_namespace: srp.parameter_namespace,
parameter: srp.parameter, parameter_value: srp.parameter_default_value,
user_changeable_flag: "Y", description: srp.description,
active_flag: "Y", created_date: ^currentTime}
roleMasterRows = ChatApp.Repo.all(query)
ChatApp.Repo.insert_all(ChatApp.Roles.RoleMasterParameters, roleMasterRows)
내 오류 메시지는 다음과 같습니다
값
{{2017, 5, 10}, {20, 28, 42, 0}}
을ChatApp.Roles.RoleMasterParameters.created_date
에 대한insert_all
에 유형과 일치하지 않습니다 : 그것은으로 날짜를 회전 utc_datetime
ecto.schema에서을 튜플 즈,하지만 내가 왜 싫어하는 지 모르겠다.
나는 Ecto.Schema 코드를 통해 갔다 붙어있어 그것은 튜플을 원하는 것처럼 보이지만, 분명히 뭔가를 놓치고, 감사합니다!
기본 타임 스탬프는() UTC없는 마이그레이션 및 스키마 파일에 호출합니다. 둘 다 동일해야합니다. 마이그레이션 파일과 스키마 파일에서'timestamps (type : : utc_datetime)' –
나는 주석을 고맙게 여긴다. 그러나 나는 그것을 고쳤다! Ecto.Schema 클래스를 사용하지 않고 이미 형식을 변경하기 위해 timestamps_opts를 변경하는 매크로를 작성했습니다. –