開発中にrailsアプリ名を変更した際に行った手順です。
renameというgemを使用しました。
開発環境
Rails 6.1.1
Ruby 2.7.2
mac 0S Big Sur 11.2.3
renameを導入
Gemfileに以下を追記します。
Gemfile
gem 'rename'
ターミナルでインストール。
ターミナル
$ bundle install
インストールが確認できれば古い方のデータベースを破棄します。
ターミナル
$ rails db:drop
変更したいアプリ名を入力
ここで renameのコマンドで新規のアプリ名を入力します。
ターミナル
$ rails g rename:into 変更後のアプリ名
今回はold_app → new_appへ変更して以下の通りになりました。
ターミナル
$ rails g rename:into new_app
Search and replace module in...
gsub config.ru
gsub README.md
gsub Rakefile
gsub yarn.lock
gsub babel.config.js
gsub package.json
gsub Gemfile
gsub Gemfile.lock
gsub postcss.config.js
gsub config/routes.rb
gsub config/environments/production.rb
gsub config/environments/development.rb
gsub config/environments/test.rb
gsub config/spring.rb
gsub config/environment.rb
gsub config/application.rb
gsub config/puma.rb
gsub config/boot.rb
gsub config/initializers/application_controller_renderer.rb
gsub config/initializers/backtrace_silencers.rb
gsub config/initializers/active_admin.rb
gsub config/initializers/mime_types.rb
gsub config/initializers/filter_parameter_logging.rb
gsub config/initializers/wrap_parameters.rb
gsub config/initializers/assets.rb
gsub config/initializers/cookies_serializer.rb
gsub config/initializers/devise.rb
gsub config/initializers/content_security_policy.rb
gsub config/initializers/inflections.rb
gsub config/initializers/session_store.rb
Error: No such file or directory @ rb_sysopen - /Users/*****/ディレクトリ名/old_app/config/initializers/session_store.rb
gsub config/database.yml
Renaming references...
Renaming directory...Done!
New application path is '/Users/*****/ディレクトリ名/new_app
ターミナルを再起動してアプリのディレクトリ名が変更できていれば成功です。
新規のデータベースを作成するのも忘れずに。
ターミナル
$ rails db:create
ターミナル
$ rails db:migrate
最後にrails server
が起動するか確認します。
ターミナル
$ rails s
追記
- アプリをGithubに連携している場合はGithub側でも変更が必要です。
-
package.json
、HTML
で直接記載した旧アプリ名も別途変更が必要です。
まとめ
アプリ名はなるべく変更しないよう計画的に運用したいですね!