sql >> Databasteknik >  >> RDS >> PostgreSQL

Rails &Postgres:Migrering till change_colomn ger fel kan inte castas till typ tidsstämpel utan tidszon

I Rails skulle detta se ut ungefär som

class ChangeStatusUpdatedAtToDateTime < ActiveRecord::Migration
  def up
    remove_column :bookings, :status_updated_at
    add_column :bookings, :status_updated_at, :datetime
  end

  def down
    remove_column :bookings, :status_updated_at
    add_column :bookings, :status_updated_at, :time
  end
end

Om du hade data som du ville överföra kan du använda följande kod (ej testad!):

class ChangeStatusUpdatedAtToDateTime < ActiveRecord::Migration
  def up
    add_column :bookings, :temp_status_updated_at, :datetime
    Booking.update_all("temp_status_updated_at = updated_at")
    remove_column :bookings, :status_updated_at
    rename_column :bookings, :temp_status_updated_at, :status_updated_at
  end

  def down
    add_column :bookings, :temp_status_updated_at, :time
    Booking.update_all("temp_status_updated_at = updated_at")
    remove_column :bookings, :status_updated_at
    rename_column :bookings, :temp_status_updated_at, :status_updated_at
  end
end


  1. Fel uppstår endast efter publicering:Det går inte att ansluta till någon av de angivna MySQL-värdarna.

  2. MySQLi klassmönster för anslutning, stäng, lämna öppen?

  3. Performance Myths:Truncate Cant Be Rolled Back

  4. Hur använder man regexp på resultaten av en underfråga?