Было бы удобно использовать Ruby on Rails для небольшого проекта веб-сайта, который в настоящее время не нуждается в базе данных. Я знаю, что могу создать пустую базу данных в MySQL и перейти оттуда, но знает ли кто-нибудь лучший способ запустить Rails без базы данных?
Спасибо
ruby-on-rails
РоббиКанак
источник
источник
Для Rails 3 и Rails 4 :
rails new myApp -O
или
rails new myApp --skip-activerecord
Этот ответ опубликован здесь у себя
Для Rails 5 :
Обратите внимание на дополнительный дефис '-' в отличие от предыдущих версий Rails .
rails new myApp --skip-active-record
источник
-O
Работает только для Rails 4.2.x. Вариант--skip-activerecord
не работает.--skip-active-record
(обратите внимание на черту между активной и записью). Другой способ у меня не работает.Для существующего проекта Rails 4/5/6 в вашем
config/application.rb
файле есть следующая строка:(В качестве справки, эта строка загружает этот файл )
Таким образом, вместо загрузки ВСЕ, вы должны загружать каждую библиотеку отдельно следующим образом:
Следите за комментариями, чтобы узнать, что загружать в отношении вашей версии Rails.
Также проверьте следующие файлы (если они у вас есть) и прокомментируйте следующие строки:
Также удалите все ссылки на
ActiveRecord::Base
файлы вашей модели (или просто удалите файлы, если применимо). Например, автоматически сгенерированныйapp/models/application_record.rb
файл.источник
active_job/railtie
иaction_cable/engine
database.yml
чтобы он просто игнорировал БД?rake assets:precompile
из-заNoMethodError: undefined method
active_record '': /activerecord-nulldb-adapter
из github.com/nulldb/nulldb позволяет вам заменить адаптер для временного или менее инвазивного изменения.-O
иaction_mailer
не связанных с нимиconfig/detabase.yml
, поэтому нет необходимости комментировать его. Также есть несколько дополнительных строк для комментариев послеactive_storage
комментирования.В Rails 4 при запуске нового проекта вы можете использовать -O или --skip-active-record
Если вы уже создали проект, вам нужно будет прокомментировать
из config / application.rb и
из config / environment / development.rb
источник
Если вам не нужна база данных, вам, вероятно, не понадобится большая часть Rails. Вы можете захотеть работать с более настраиваемой структурой меньшего размера.
Sinatra - это крошечный фреймворк, который отлично подходит для обслуживания базовых статических страниц.
Но если вы настаиваете на использовании Rails здесь есть статья , которая покажет вам , как сделать это или здесь .
источник
Для поддержки Rails 6 rc1 и
activerecord-nulldb-adapter
gem нам нужен патч обезьяныВ config / initializers / null_db_adapter_monkey_patches.rb
источник