Rollout & retrocompatibility

migration

front

back

resque

migration

front

back

resque

class Migration
  def up
    rename_column :acticle,
      :highlight,
      :title
  end
end
class ArticleController
  def update
      Article.first.update!(
        highlight: params(:highlight),
        content: params(:content)
      )
  end
end
class ArticleController
  def update
      Article.first.update!(
        title: params(:title),
        content: params(:content)
      )
  end
end
class ArticleController
  def update
      Article.first.update!(
        highlight: params(:highlight),
        content: params(:content)
      )
  end
end
class ArticleController
  def update
      Article.first.update!(
        title: params(:title),
        highlight: params(:title),
        content: params(:content)
      )
  end
end
class Migration
  def up
    rename_column :acticle,
      :highlight,
      :title
  end
end
class ArticleController
  def update
      Article.first.update!(
        title: params(:title),
        content: params(:content)
      )
  end
end

migration

front

back

resque

class ArticleController
  def update
      Article.first.update!(
        highlight: params(:highlight),
        content: params(:content)
      )
  end
end
class ArticleController
  def update
      Article.first.update!(
        title: params(:title),
        content: params(:content)
      )
  end
end
put('/articles/1/', {
  content: "Lalala",
  title: "Title"
})
class ArticleController
  def update
      Article.first.update!(
        title: params(:title),
        content: params(:content)
      )
  end
end
put('/articles/1/', {
  content: "Lalala",
  title: "Title"
})
class ArticleController
  def update
      Article.first.update!(
        title: params(:title) || params(:highlight),
        content: params(:content)
      )
  end
end
class ArticleController
  def update
      Article.first.update!(
        title: params(:title),
        content: params(:content)
      )
  end
end
put('/articles/1/', {
  content: "Lalala",
  title: "Title"
})

Rollout & retrocompatibility

By Thomas Hareau

Rollout & retrocompatibility

  • 442