Je dois changer mon type de colonne de date à date-heure pour une application que je fais. Comment puis-je faire ceci? Je ne me soucie pas de la donnée est encore en cours de développement. J'utilise mySQL.
TIA
Je dois changer mon type de colonne de date à date-heure pour une application que je fais. Comment puis-je faire ceci? Je ne me soucie pas de la donnée est encore en cours de développement. J'utilise mySQL.
TIA
D'abord dans votre terminal:
rails g migration change_date_format_in_my_table
Ensuite, dans votre fichier de migration:
Pour les rails> = 3.2:
class ChangeDateFormatInMyTable < ActiveRecord::Migration
def up
change_column :my_table, :my_column, :datetime
end
def down
change_column :my_table, :my_column, :date
end
end
Dans Rails 3.2 et Rails 4, la réponse populaire de Benjamin a une syntaxe légèrement différente.
D'abord dans votre terminal:
$ rails g migration change_date_format_in_my_table
Ensuite, dans votre fichier de migration:
class ChangeDateFormatInMyTable < ActiveRecord::Migration
def up
change_column :my_table, :my_column, :datetime
end
def down
change_column :my_table, :my_column, :date
end
end
Il existe une méthode change_column , exécutez-la simplement dans votre migration avec datetime en tant que nouveau type.
change_column(:my_table, :my_column, :my_new_type)
TOUJOURS, les migrations sont là pour essayer de remodeler les données qui vous intéressent (c'est-à-dire la production) lors des changements de schéma. Donc, à moins que ce soit faux, et puisqu'il a dit qu'il ne se soucie pas des données, pourquoi ne pas simplement modifier le type de colonne dans la migration d'origine de date à date et réexécuter la migration? (J'espère que vous avez des tests :)).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.