Rails5でSQLiteからPostgreSQLに変更した時のメモ

■PostgreSQL側でCREATEDB権限がない時のエラー
---------------------------------------------------------------------
$ rails db:setup
PG::InsufficientPrivilege: ERROR:  permission denied to create database
---------------------------------------------------------------------
config/database.ymlで設定書いたユーザーにCREATEDB権限があるかどうか、PostgreSQL側で確認する。

■CarrierWaveで複数画像を投稿するとエラー
1.SQLiteとPostgreSQL/MySQLで実装方法が異なる。PostgreSQLの実装にする。
(参考)CarrierWave -  Multiple file uploads
(参考)CarrierWave 複数の画像をコード三行で一つのカラムに保存する ※PostgreSQL/MySQLの実装方法でSQLiteではない

2.複数画像を投稿時に以下エラーが出る場合は構文を書き間違えている可能性あり。
---------------------------------------------------------------------
TypeError in UsersController#create

no implicit conversion of nil into String
---------------------------------------------------------------------
(参考)Stack Overflow - “no implicit conversion of nil into String” error for carrierwave multiple image upload
「mount_uploaders」ではなく「mount_uploader」と書く。

---------------------------------------------------------------------
# app/models/users.rb
class User < ApplicationRecord
  # 画像1つのみアップロードする場合。imageカラムに格納指定。
  mount_uploader :image, ImageUploader
  # 複数画像アップロードする場合。image_anotherカラムに格納指定。
  mount_uploaders :image_another, ImageUploader
end
---------------------------------------------------------------------