sql >> Database >  >> RDS >> PostgreSQL

Rails &Postgres:Migratie naar change_colomn geeft fout kan niet worden gegoten om tijdstempel te typen zonder tijdzone

In Rails zou dit er ongeveer zo uitzien

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

Als u gegevens had die u wilde overdragen, kunt u de volgende code gebruiken (niet getest!):

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. SQL-firewall eenvoudig gemaakt met ClusterControl &ProxySQL

  2. Illegale mix van sorteringen voor operatie 'concat'

  3. mysql datums selecteren zonder tabellen

  4. Spring-gegevensquery voor localdate retourneert verkeerde invoer - min één dag