[Drupal7]既に設定済みのFIELDTYPEをintegerからtextへ変更。
.Drupalでサイトの改修していて、既に設定した任意のContent Typesの一部のフィールドの型を変換する必要がありました。(「Integer」型→「text」型へ)
Drupalの管理画面から行えず、Moduleもありませんでしたので、直接データベースの値を修正することになりました。作業時間1時間弱といったところです。検索してもみつからなかったので、せっかくですので、その手順を残しておきます。
手順
この手順は、Integer→textへの型変換の方法です。他の型の場合は手順2,3,4あたりの値が異なってくると思います。
- Databaseバックアップ
- Table「field_data_field_xxx」の構造を変更
同様に、Table「field_revision_field_xxx」の構造を変更 - Table「field_config」のレコードを変更
- Table「field_config_instance」のレコードを変更
- フォーマットを指定していた場合、Manage Displayページからフォーマットをリセット。
- Drupalキャッシュクリア