J'ai une table dans une application Rails avec des centaines de milliers d'enregistrements, et ils ont seulement un created_at
timestamp. Je vais ajouter la possibilité de modifier ces enregistrements, alors je veux ajouter un updated_at
timestamp de la table. Dans ma migration pour ajouter la colonne, je veux mettre à jour toutes les lignes de la nouvelle updated_at
correspondre à l'ancien created_at
, puisque c'est la valeur par défaut pour les lignes créées dans les Rails. Je pourrais faire un find(:all)
et parcourir les dossiers, mais cela pourrait prendre des heures en raison de la taille de la table. Ce que je veux vraiment faire est:
UPDATE table_name SET updated_at = created_at;
Est-il une plus belle façon de le faire que dans un Rails de la migration à l'aide de ActiveRecord plutôt que de l'exécuter SQL brut?