sql >> Database >  >> RDS >> Mysql

Migratie om de standaardwaarde voor een veld te wijzigen en de waarde van alle bestaande records alleen te wijzigen in een nieuwe standaardwaarde als deze een oude standaardwaarde heeft.

Tijdens de migratie moet u de methode change_column gebruiken om de tabelinstellingen als volgt te wijzigen:

change_column :my_models, :attribute_name, :integer, :default => 3

En om vervolgens alle bestaande records bij te werken, in plaats van door alle records te bladeren en ze afzonderlijk bij te werken, kunt u de methode update_all als volgt gebruiken:

MyModel.update_all({ :attribute_name => 3 }, { :attribute_name => 0 })

Het eerste argument vertelt de methode welke waarde moet worden ingesteld en het tweede vertelt de voorwaarde voor welke rijen moeten worden bijgewerkt.



  1. Validatie UNIEK veld in Codeigniter met 2 index

  2. MYSQL-rijen met dezelfde veldnamen selecteren en een voorvoegsel toevoegen

  3. XML-bestanden importeren naar PostgreSQL

  4. postgresql date_trunc naar willekeurige precisie?