instalar - ¿Cómo configurar Ruby on Rails sin base de datos?
ruby on rails tutorial español (6)
Sería conveniente usar Ruby on Rails para un proyecto de sitio web pequeño que no tiene una necesidad actual de una base de datos. Sé que podría crear una base de datos vacía en MySQL e ir desde allí, pero ¿alguien sabe una mejor manera de ejecutar Rails sin una base de datos?
Gracias
ACTUALIZACIÓN: Ver los '' Rails 3 - ¿cómo puedo evitar la base de datos por completo? ''pregunta para obtener una actualización sobre cómo hacer esto con Rails 3.
En Rails 4 al comenzar un nuevo proyecto, puede usar -O o --skip-active-record
rails new my_project -O
rails new my_project --skip-active-record
Si ya has creado un proyecto necesitarás comentar
require "active_record/railtie"
desde config / application.rb y
config.active_record.migration_error = :page_load
de config / environments / development.rb
Para Rails 3 y Rails 4 :
Use
-O
(Capital ''O'') o--skip-activerecord
opción para generar una aplicación sin una base de datos.
rails new myApp -O
o
rails new myApp --skip-activerecord
Esta respuesta se comparte de here
Para Rails 5 :
Utilice la opción
--skip-active-record
para generar una aplicación sin una base de datos
Observe el guión adicional ''-'' a diferencia de las versiones anteriores de Rails .
rails new myApp --skip-active-record
Para un proyecto Rails 4/5 existente, en su archivo config/application.rb
tiene la siguiente línea:
require ''rails/all''
(Como referencia, esa línea está cargando este archivo )
Entonces, en lugar de cargar TODO, debe cargar cada biblioteca por separado de la siguiente manera:
# active_record is what we''re not going to use it, so comment it "just in case"
# require "active_record/railtie"
# This is not loaded in rails/all but inside active_record so add it if
# you want your models work as expected
require "active_model/railtie"
# And now the rest
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_view/railtie"
require "active_job/railtie" # Only for Rails >= 4.2
require "action_cable/engine" # Only for Rails >= 5.0
require "active_storage/engine" # Only for Rails >= 5.2
require "sprockets/railtie"
require "rails/test_unit/railtie"
Esté atento a los comentarios para saber qué cargar con respecto a su versión de Rails. Luego comenta también las siguientes líneas:
#config/environments/development.rb
config.active_record.migration_error = :page_load
#config/environments/production.rb
config.active_record.dump_schema_after_migration = false
#spec/rails_helper.rb
ActiveRecord::Migration.maintain_test_schema!
# Only for Rails >= 5.0
#config/initializers/new_framework_defaults.rb
Rails.application.config.active_record.belongs_to_required_by_default = true
Opcionalmente, puede eliminar cualquier referencia a la clase ActiveRecord
.
rm app/models/application_record.rb
Si no necesita una base de datos, probablemente no necesite tener la mayor parte de Rails. Es posible que desee un marco más pequeño y más personalizable para trabajar.
Sinatra es un pequeño marco que es ideal para servir páginas estáticas básicas.
Pero si insiste en usar Rails here hay un artículo que le mostrará cómo hacer exactamente eso o here .
Descomente esta línea en el archivo environment.rb
:
config.frameworks -= [ :active_record, :active_resource, :action_mailer]