web-dev-qa-db-fra.com

Désactiver le stockage actif dans Rails 5.2

Mettre à niveau Rails vers la version 5.2 et j'ai découvert que je devais valider le stockage.yml dans le contrôle de version. Je n'ai pas l'intention d'utiliser ActiveStorage. Y a-t'il une manière de le désactiver?

11
lulalala

Supprimer la ligne suivante de config/application.rb

require "active_storage/engine"

Supprimer la ligne suivante des environnements config/environments/*.rb

config.active_storage.service = :local

Supprimer la ligne suivante de app/assets/javascripts/application.js

//= require activestorage

Les itinéraires ActiveStorage Rails disparaîtront

Dans le cas où il existe une instruction require 'Rails/all' dans application.rb, vous pouvez utiliser la solution ci-dessous pour laquelle vous devez exiger dépendance par dépendance et omettre active_storage.

21
Borisa Eric

La seule solution que j'ai trouvée jusqu'à présent est dans config/application.rb, en remplacement de:

require 'Rails/all'

Avec:

require "Rails"

# Include each railties manually, excluding `active_storage/engine`
%w(
  active_record/railtie
  action_controller/railtie
  action_view/railtie
  action_mailer/railtie
  active_job/railtie
  action_cable/engine
  Rails/test_unit/railtie
  sprockets/railtie
).each do |railtie|
  begin
    require railtie
  rescue LoadError
  end
end

qui provient de Rails ' source .

4
MikeRogers0

Supprimez les lignes comme celles-ci de config/environments/*.rb

config.active_storage.service = :local

Rails ne chargera pas le fichier yaml.

1
lulalala

Si votre problème concerne le déploiement sur Heroku, j'ai constaté que le fait de s'assurer que l'adaptateur de base de données est postgres peut résoudre le problème . Modifiez la section de production de config/database.yml en:

production:
  adapter: postgresql
  encoding: unicodeubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("Rails_MAX_THREADS") { 5 } %>
  database: myapp_production
  username: myapp
  password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>
0
Daniel Garcia