HerokuのPostgreSQLにおいてLaravelのmigrateでカラムの型が変更できない

HerokuのPostgreSQLにおいてLaravelのmigrateでカラムの型が変更できない

こんにちは。

今日は、間違ってHerokuのPostgreSQLのカラムの型をstringにしてしまって、integer型に変更しようと思ったけどなかなか時間がかかってしまったのでメモしておきます。

まず、いつも通りmigrationファイルを作成してchangeを試みました。

ローカル環境として使用しているMAMPのmysqlではこれでうまく変更できたのですが、HerokuのPostgreSQLだとうまくいきませんでした。

作成したのは以下のファイル

これでheroku run php artisan migrateすると以下のようなエラーが発生。

string型をint型には勝手に変換してくれないっぽいです。

そりゃそうといえばそうですね。

そこでネットで質問してみると、普通のSQL文をそのまま記述すればいいそう。

そんでup()関数を以下のように書き換えてみました。

するとまた同じエラー。んーーー。

結果的には以下のようにキャストすることで解決しました。

めでたしめでたし。

プログラミングカテゴリの最新記事