rails-sqlserver / activerecord-sqlserver-adapter

SQL Server Adapter For Rails
MIT License
972 stars 558 forks source link

TinyTds::Error: Server name not found in configuration files #1047

Closed felzend closed 1 year ago

felzend commented 1 year ago

Issue

Can't run Rails App using Docker

Expected behavior

Launch Rails Migrations + Rails App with no errors

Actual behavior

Getting a docker error

** Invoke db:migrate (first_time)
** Invoke db:load_config (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:load_config
** Execute db:migrate
rails aborted!
TinyTds::Error: Server name not found in configuration files

Details

database.yml

image

Dockerfile

image

Compose Command bash -c "rails db:migrate --trace && rails server -b 0.0.0.0"

Gems:

gem 'tiny_tds', '~> 2.1', '>= 2.1.5'
gem 'activerecord-sqlserver-adapter', '~> 7.0', '>= 7.0.1.0'

Full error:

** Invoke db:migrate (first_time)
** Invoke db:load_config (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:load_config
** Execute db:migrate
rails aborted!
TinyTds::Error: Server name not found in configuration files
/usr/local/bundle/gems/tiny_tds-2.1.5/lib/tiny_tds/client.rb:60:in `connect'
/usr/local/bundle/gems/tiny_tds-2.1.5/lib/tiny_tds/client.rb:60:in `initialize'
/usr/local/bundle/gems/activerecord-sqlserver-adapter-7.0.1.0/lib/active_record/connection_adapters/sqlserver_adapter.rb:90:in `new'
/usr/local/bundle/gems/activerecord-sqlserver-adapter-7.0.1.0/lib/active_record/connection_adapters/sqlserver_adapter.rb:90:in `dblib_connect'
/usr/local/bundle/gems/activerecord-sqlserver-adapter-7.0.1.0/lib/active_record/connection_adapters/sqlserver_adapter.rb:83:in `new_client'
/usr/local/bundle/gems/activerecord-sqlserver-adapter-7.0.1.0/lib/active_record/sqlserver_base.rb:15:in `sqlserver_connection'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `public_send'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `new_connection'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:700:in `checkout_new_connection'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:679:in `try_to_checkout_new_connection'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:640:in `acquire_connection'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:341:in `checkout'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:181:in `connection'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/abstract/connection_handler.rb:211:in `retrieve_connection'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_handling.rb:313:in `retrieve_connection'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_handling.rb:280:in `connection'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/tasks/database_tasks.rb:262:in `migrate'
/usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/railties/databases.rake:92:in `block (2 levels) in <main>'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `block in execute'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `each'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `execute'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/task.rb:188:in `invoke'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/application.rb:160:in `invoke_task'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `each'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block in top_level'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/application.rb:125:in `run_with_threads'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/application.rb:110:in `top_level'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/commands/rake/rake_command.rb:24:in `block in perform'
/usr/local/lib/ruby/gems/3.2.0/gems/rake-13.0.6/lib/rake/rake_module.rb:59:in `with_application'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/command.rb:51:in `invoke'
/usr/local/bundle/gems/railties-7.0.4.3/lib/rails/commands.rb:18:in `<main>'
<internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/usr/local/bundle/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:migrate
felzend commented 1 year ago

The problem was I need to call at database.yml the variables using

host: <%= ENV["DB_HOST"] %>

Instead of

host: ENV["DB_HOST"]