Rails & amp; Postgres: La migration vers change_colomn donne une erreur "ne peut pas être converti en type timestamp sans fuseau horaire"
Rails de la migration à son tour un "deleted_at" colonne de temps à une colonne datetime échoué. Aucune idée sur comment résoudre ce problème? C'est une nouvelle installation de Postgres si cela est pertinent.
-- change_column(:products, :deleted_at, :datetime)
PGError: ERROR: column "deleted_at" cannot be cast to type timestamp without time zone
: ALTER TABLE "products" ALTER COLUMN "deleted_at" TYPE timestamp
source d'informationauteur Jack Kinsella
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas modifier un champ de type de temps en timestamp ("datetime"), car les valeurs ne pouvaient pas être convertis -- la base de données n'est pas savoir la date.
Toutefois, vous pouvez supprimer et recréer la colonne:
Ou si ce champ est réglé pour ne PAS NULL, vous devez faire au lieu de:
Mais si vous insistez sur la rétention des fausses valeurs dans ce tableau comme Sean, vous pouvez utiliser la commande ALTER...TYPE...en UTILISANT comme ceci:
Dans les Rails ce serait ressembler à