Railsアプリケーション名を変更する方法
Railsアプリケーションの名前を変更したくなることがたまにあります。
でもディレクトリ名を変えただけでは不十分だとは分かりつつも、どのファイルのどこにアプリ名に関する記述があるのかを知らなかったので調べてみました。
アプリケーション名の変更
アプリケーション名helloをbyeに変更する場合を考えます。
git diffを使ってhelloアプリとbyeアプリの差分を出力してみました。
- git diffの出力結果(一部省略)
diff --git a/Rakefile b/Rakefile @@ -4,4 +4,4 @@ -Hello::Application.load_tasks +Bye::Application.load_tasks diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb @@ -1,7 +1,7 @@ - <title>Hello</title> + <title>Bye</title> diff --git a/config.ru b/config.ru @@ -1,4 +1,4 @@ -run Hello::Application +run Bye::Application diff --git a/config/application.rb b/config/application.rb @@ -6,7 +6,7 @@ require 'rails/all' -module Hello +module Bye diff --git a/config/environment.rb b/config/environment.rb @@ -2,4 +2,4 @@ -Hello::Application.initialize! +Bye::Application.initialize! diff --git a/config/environments/development.rb b/config/environments/development.rb @@ -1,4 +1,4 @@ -Hello::Application.configure do +Bye::Application.configure do diff --git a/config/environments/production.rb b/config/environments/production.rb @@ -1,4 +1,4 @@ -Hello::Application.configure do +Bye::Application.configure do diff --git a/config/environments/test.rb b/config/environments/test.rb @@ -1,4 +1,4 @@ -Hello::Application.configure do +Bye::Application.configure do diff --git a/config/initializers/secret_token.rb b/config/initializers/secret_token.rb @@ -4,4 +4,4 @@ -Hello::Application.config.secret_token = 'aaed02f6962a19b36fed1b815e5e40b22e04bdad83ab72e6d0dcf81115812711cd65b233d2f140f5c8bc5785b9e40b207cc675bd45d7f4209e9cc0fb4eb3f599' +Bye::Application.config.secret_token = 'c431a68d26f4db10cc5568eeb56618c69e08322b3ec58caf6e4916fd2b0220991c992e8519e2f6abf71e3d21cf0a9984a9b8319056022a43e3237cce3069524e' diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb @@ -1,8 +1,8 @@ -Hello::Application.config.session_store :cookie_store, key: '_hello_session' +Bye::Application.config.session_store :cookie_store, key: '_bye_session' -# Hello::Application.config.session_store :active_record_store +# Bye::Application.config.session_store :active_record_store diff --git a/config/routes.rb b/config/routes.rb @@ -1,4 +1,4 @@ -Hello::Application.routes.draw do +Bye::Application.routes.draw do
どのファイルもHelloの部分をByeに変えればよさそうです。
それ以外では、config/initializers/secret_token.rbの文字列がHelloとByeで異なります。
あとで新しくrails new helloをしてみたところ、このsecret_tokenは同じhelloアプリを作った場合でも異なるトークンとなったので、これは毎回違うものが生成されるようです。
そのため、secret_tokenは特に変更する必要はなさそうです。
ちなみにこのsecret_tokenはサイトのクッキーのために準備されているみたいです。
ただRailsのことなので、アプリケーション名の変更もコマンドでできそうですよね。
ググってみても分からなかったのでとりあえずの変更方法です。
もし他の方法があるようでしたらぜひ教えていただけると幸いです。