2017-05-14 3 views
1

dateチャーフィールドがありました。しかし、私はフィールドをcharfieldからdatetimefieldに変更し、以前のすべてのデータを削除しました。カラム "date"をタイムゾーン付きタイムスタンプに自動的にキャストできませんdjango/postgres

date = models.DateTimeField(default=timezone.now) 

ローカライゼーションは正常に動作しますが、本番環境では、移行しようとすると次のエラーが発生します。私は列、モデルを削除し、コメントとコメントを外し、削除してフィールドを再度作成し、以前の移行に戻してもう一度移行しましたが、それは役に立たなかっただけです。

django.db.utils.ProgrammingError: column "date" cannot be cast automatically to type timestamp with time zone 
HINT: You might need to specify "USING date::timestamp with time zone". 

問題を正しく解決するにはどうすればよいですか。 postgresのでジャンゴ1.8、Pythonの2.7とpostgresの

答えて

0

実行これを使用してシェル:

ALTER TABLE table_name ALTER COLUMN col_name TYPE timestamp with time zone USING col_name::timestamp with time zone 
+0

があります何か中断していないデータベースソリューションがありますか?何か問題を引き起こす可能性がありますか? –

+1

カラムが日付に完全に変換可能で、無効なデータがない場合は問題は発生しません – mohammad

0

タイムスタンプに整数列を変換しようとすると、Googleでこの質問を見つける誰に:

ALTER TABLE my_table 
ALTER COLUMN my_column 
TYPE timestamp with time zone 
USING to_timestamp(my_column); 
関連する問題