rake db:migrate(渲染托管)上的“数据库配置未指定适配器”

问题描述 投票:0回答:1

我正在尝试使用 Render 托管的 Postgresql 数据库在 Render 上运行一个简单的 Sinatra 网络应用程序。我正在关注:https://render.com/docs/deploy-rails#install-rails 但我运行:

  • bundle exec rake db:migrate

..构建/部署因错误而失败:

  • ActiveRecord::AdapterNotSpecified: database configuration does not specify adapter
    .

我试过各种yaml配置都没有结果。

使用 puma 在本地运行,shell 文件可以很好地用于开发和测试数据库。

我可以通过本指南通过 pgadmin 连接到我的数据库:https://medium.com/geekculture/how-to-create-and-connect-to-a-postgresql-database-with-render-and -pgadmin-577b326fd19d

Name: Name
Hostname/address: External Database URL (If the format of the URL is postgres://aaa:[email protected]/ddd then Hostname would be ccc.oregon-postgres.render.com) 
Port: Port
Maintenance database: Database
Username: Username
Password: Password

我没有使用蓝图,而是手动/推送部署。 我有 3 个环境变量:

  • DATABASE_URL(内部数据库 URL)
  • RAILS_MASTER_KEY(随机生成)
  • RAILS_ENV(生产)

错误

Feb 24 04:15:45 PM  ==> Cloning from https://github.com/user/repo...
Feb 24 04:15:46 PM  ==> Checking out commit commit in branch main
Feb 24 04:15:50 PM  ==> Running build command './bin/render-build.sh'...
Feb 24 04:15:51 PM  Fetching gem metadata from https://rubygems.org/........
Feb 24 04:15:51 PM  Fetching rake 13.0.6
Feb 24 04:15:51 PM  Installing rake 13.0.6
Feb 24 04:15:52 PM  Using bundler 2.3.14
Feb 24 04:15:52 PM  Fetching ruby2_keywords 0.0.5
Feb 24 04:15:52 PM  Fetching zeitwerk 2.6.7
Feb 24 04:15:52 PM  Fetching multi_json 1.15.0
Feb 24 04:15:52 PM  Fetching nio4r 2.5.8
Feb 24 04:15:52 PM  Fetching rack 2.2.6.2
Feb 24 04:15:52 PM  Fetching require_all 3.0.0
Feb 24 04:15:52 PM  Fetching tilt 2.1.0
Feb 24 04:15:52 PM  Fetching concurrent-ruby 1.2.0
Feb 24 04:15:52 PM  Fetching minitest 5.17.0
Feb 24 04:15:52 PM  Fetching json 2.6.3
Feb 24 04:15:52 PM  Fetching jwt 2.7.0
Feb 24 04:15:52 PM  Fetching moji 1.6
Feb 24 04:15:52 PM  Fetching pg 1.4.5
Feb 24 04:15:52 PM  Installing multi_json 1.15.0
Feb 24 04:15:52 PM  Installing require_all 3.0.0
Feb 24 04:15:52 PM  Installing ruby2_keywords 0.0.5
Feb 24 04:15:52 PM  Installing tilt 2.1.0
Feb 24 04:15:52 PM  Installing zeitwerk 2.6.7
Feb 24 04:15:52 PM  Installing jwt 2.7.0
Feb 24 04:15:52 PM  Installing json 2.6.3 with native extensions
Feb 24 04:15:52 PM  Installing minitest 5.17.0
Feb 24 04:15:52 PM  Installing nio4r 2.5.8 with native extensions
Feb 24 04:15:52 PM  Installing rack 2.2.6.2
Feb 24 04:15:52 PM  Installing pg 1.4.5 with native extensions
Feb 24 04:15:52 PM  Installing concurrent-ruby 1.2.0
Feb 24 04:15:52 PM  Installing moji 1.6
Feb 24 04:15:52 PM  Fetching mustermann 3.0.0
Feb 24 04:15:52 PM  Fetching mojinizer 0.2.2
Feb 24 04:15:52 PM  Installing mustermann 3.0.0
Feb 24 04:15:52 PM  Installing mojinizer 0.2.2
Feb 24 04:15:56 PM  Fetching rack-protection 3.0.5
Feb 24 04:15:56 PM  Installing rack-protection 3.0.5
Feb 24 04:16:03 PM  Fetching i18n 1.12.0
Feb 24 04:16:03 PM  Fetching tzinfo 2.0.6
Feb 24 04:16:03 PM  Installing i18n 1.12.0
Feb 24 04:16:03 PM  Installing tzinfo 2.0.6
Feb 24 04:16:04 PM  Fetching puma 6.1.0
Feb 24 04:16:04 PM  Fetching sinatra 3.0.5
Feb 24 04:16:04 PM  Fetching activesupport 6.1.7.2
Feb 24 04:16:04 PM  Installing sinatra 3.0.5
Feb 24 04:16:04 PM  Installing puma 6.1.0 with native extensions
Feb 24 04:16:04 PM  Installing activesupport 6.1.7.2
Feb 24 04:16:04 PM  Fetching sinatra-contrib 3.0.5
Feb 24 04:16:04 PM  Installing sinatra-contrib 3.0.5
Feb 24 04:16:08 PM  Fetching activemodel 6.1.7.2
Feb 24 04:16:08 PM  Installing activemodel 6.1.7.2
Feb 24 04:16:08 PM  Fetching activerecord 6.1.7.2
Feb 24 04:16:08 PM  Installing activerecord 6.1.7.2
Feb 24 04:16:08 PM  Fetching sinatra-activerecord 2.0.26
Feb 24 04:16:08 PM  Installing sinatra-activerecord 2.0.26
Feb 24 04:16:08 PM  Bundle complete! 10 Gemfile dependencies, 27 gems now installed.
Feb 24 04:16:08 PM  Gems in the groups 'development' and 'test' were not installed.
Feb 24 04:16:08 PM  Bundled gems are installed into `/opt/render/project/.gems`
Feb 24 04:16:09 PM  rake aborted!
Feb 24 04:16:09 PM  ActiveRecord::AdapterNotSpecified: database configuration does not specify adapter
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:1198:in `resolve_pool_config'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:1046:in `establish_connection'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/activerecord-6.1.7.2/lib/active_record/connection_handling.rb:52:in `establish_connection'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-activerecord-2.0.26/lib/sinatra/activerecord.rb:83:in `database='
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-3.0.5/lib/sinatra/base.rb:1283:in `set'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-activerecord-2.0.26/lib/sinatra/activerecord.rb:48:in `registered'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-3.0.5/lib/sinatra/base.rb:1475:in `block in register'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-3.0.5/lib/sinatra/base.rb:1473:in `each'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-3.0.5/lib/sinatra/base.rb:1473:in `register'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-3.0.5/lib/sinatra/base.rb:1959:in `register'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-3.0.5/lib/sinatra/base.rb:2024:in `register'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-activerecord-2.0.26/lib/sinatra/activerecord.rb:101:in `<module:Sinatra>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/sinatra-activerecord-2.0.26/lib/sinatra/activerecord.rb:12:in `<top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:73:in `require'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:73:in `rescue in block in require'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:51:in `block in require'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:44:in `each'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:44:in `require'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler.rb:176:in `require'
Feb 24 04:16:09 PM  /opt/render/project/src/config/environment.rb:5:in `<top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/src/Rakefile:3:in `require_relative'
Feb 24 04:16:09 PM  /opt/render/project/src/Rakefile:3:in `<top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli/exec.rb:58:in `load'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli/exec.rb:58:in `kernel_load'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli/exec.rb:23:in `run'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli.rb:483:in `exec'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli.rb:31:in `dispatch'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli.rb:25:in `start'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/exe/bundle:48:in `block in <top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/exe/bundle:36:in `<top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/bin/bundle:113:in `load'
Feb 24 04:16:09 PM  /opt/render/project/.gems/bin/bundle:113:in `<main>'
Feb 24 04:16:09 PM  
Feb 24 04:16:09 PM  Caused by:
Feb 24 04:16:09 PM  LoadError: cannot load such file -- sinatra-activerecord
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:60:in `require'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:60:in `block (2 levels) in require'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:55:in `each'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:55:in `block in require'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:44:in `each'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/runtime.rb:44:in `require'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler.rb:176:in `require'
Feb 24 04:16:09 PM  /opt/render/project/src/config/environment.rb:5:in `<top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/src/Rakefile:3:in `require_relative'
Feb 24 04:16:09 PM  /opt/render/project/src/Rakefile:3:in `<top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/ruby/2.6.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli/exec.rb:58:in `load'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli/exec.rb:58:in `kernel_load'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli/exec.rb:23:in `run'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli.rb:483:in `exec'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli.rb:31:in `dispatch'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/cli.rb:25:in `start'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/exe/bundle:48:in `block in <top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
Feb 24 04:16:09 PM  /opt/render/project/.gems/gems/bundler-2.3.14/exe/bundle:36:in `<top (required)>'
Feb 24 04:16:09 PM  /opt/render/project/.gems/bin/bundle:113:in `load'
Feb 24 04:16:09 PM  /opt/render/project/.gems/bin/bundle:113:in `<main>'
Feb 24 04:16:09 PM  (See full trace by running task with --trace)
Feb 24 04:16:09 PM  ==> Build failed 😞
Feb 24 04:16:09 PM  ==> Generating container image from build. This may take a few minutes...

数据库.yml

default: &default
  adapter: postgresql
  encoding: unicode
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
  <<: *default
  database: db_name_dev

test:
  <<: *default
  database: db_name_test

production:
  <<: *default
  database: db_name
  username: user_name
  url: <%= ENV['DATABASE_URL'] %> 

bin/render-build.sh

#!/usr/bin/env bash
# exit on error
set -o errexit

bundle install
bundle exec rake db:migrate

config.ru

require_relative './config/environment'
run ApplicationController

application_controller.rb

require 'sinatra'
require 'sinatra/reloader'
require "sinatra/activerecord"

class ApplicationController < Sinatra::Base
  get '/' do
    "Hello World"
  end
end

RakeFile

ENV["SINATRA_ENV"] ||= "development"

require_relative './config/environment'
require 'sinatra/activerecord'
require 'sinatra/activerecord/rake'
require './app'

项目结构如下:

deployment hosting sinatra rake render.com
1个回答
0
投票

我是一个divvy.

我设法通过添加额外的环境变量来解决这个问题:

  • SINATRA_ENV
  • RACK_ENV
© www.soinside.com 2019 - 2024. All rights reserved.