凤凰播种日期

时间:2016-04-26 11:58:20

标签: elixir phoenix-framework

任何人都可以帮助我担心的一个愚蠢的错误。考虑这两个片段:

defmodule MosaicApi.Repo.Migrations.CreateCard do
  use Ecto.Migration

  def change do
    create table(:cards) do
      add :creation_date, :date

defmodule MosaicApi.Card do
  use MosaicApi.Web, :model

  schema "cards" do
    field :creation_date, Ecto.Date

我试图使用

播种一些数据
cards = [
    %Card{
        creation_date: "2014-04-17",

我从互联网上发现的东西中得到了这些简单的字符串;另一种选择似乎是{" 2015"," 04"," 17"}。

  

"2014-04-17"MosaicApi.Card.creation_date的**(Ecto.ChangeError)值insert与Ecto.Date类型不匹配

1 个答案:

答案 0 :(得分:6)

试试这个:

cards = [
  %Card{
    creation_date: %Ecto.Date{year: 2014, month: 4, day: 17},

或者:

cards = [
  %Card{
    creation_date: Ecto.Date.cast!("2014-04-17"),

测试的生成器最近从字符串格式改变了(可能是你想到的地方)https://github.com/phoenixframework/phoenix/commit/badf8065d0b025d6b6ad212bfa0b96e897f06a6a