Rails7からDBレイヤーを剥がす
RailsからDBレイヤーを剥がす手法について記載します
環境
Rails 7.0.3
bin/setupファイルを修正
bin/setupファイルのdb:prepare部分を削除します
# 以下2行を削除かコメント化 puts "\n== Preparing database ==" system! "bin/rails db:prepare"
config/enviroments/development.rbを修正
# Raise an error on page load if there are pending migrations. # 以下1行を削除かコメント化 config.active_record.migration_error = :page_load # Highlight code that triggered database queries in logs. # 以下1行を削除かコメント化 config.active_record.verbose_query_logs = true
config/database.ymlを削除
config/database.ymlファイルを削除します
dbフォルダを削除
dbフォルダを削除します
modelsフォルダを削除
modelsフォルダを削除します
application.rbを修正
require "rails/all"
を以下に修正
require "action_controller/railtie" require "action_view/railtie"
他に必要なrailsの機能があるなら、以下を参照しながらrequireする
rails/allを分解してrequireしたら以下のようなエラーが立ち上げ時に出るので 一つずつファイル内検索して対応する
`method_missing': undefined method `action_mailer'
基本は設定のところばかりが引っかかるのでコメント化対応でOK
gemファイルからDB関連のライブラリを削除
MysqlやらsqliteなどのDB関連のライブラリを削除して 再度bundle installします
rails sしてエラーなく立ち上がったらOK
以上となります