Riordinare le colonne in Rails
Si possono ordinare oppure spostare le colonne di un database in Rails tramite l’utilizzo delle migrazioni?
Si, usando il metodo change_column e la chiave after. La soluzione del problema non è semplice poichè non c’è traccia dell’argomento nella guida ufficiale di rails e neppure nel codice sorgente.
Andando a scavare su stackoverflow ho trovato la soluzione che risiede nel file: schema_definitions.rb. All’interno è possibile vedere l’utilizzo del metodo chage_column al fine di spostare l’ordine delle colonne: https://github.com/rails/rails/blob/5-0-stable/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
Ecco un esempio concreto di utilizzo del codice per cambiare l’ordine delle colonne:
A quanto pare questo parametro non è utilizzabile con i database postgresql ma non l’ho sperimentato direttamente poichè normalmente uso mysql o sqlite.
Tra le varie fonti: Stackoverflow - Come riordinare le colonne