В настоящее время я пытаюсь настроить установку Redmine для нашей команды. Кажется, я не могу установить соединение с нашим сервером MSSQL изнутри рельсов.
$ RAILS_ENV=production bundle exec rake db:migrate
rake aborted!
TinyTds::Error: closed connection
/home/admin/.rbenv/versions/2.6.6/bin/bundle:23:in `load'
/home/admin/.rbenv/versions/2.6.6/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
Я установил sqlcmd для проверки соединения за пределами рельсов, и мне удалось войти в систему, создать и удалить таблицу в качестве теста. Я подозреваю, что это моя база данных.yml. Мне нужно подключиться к экземпляру MS SQL, а сервер работает на другом порту. Пытался немного поковыряться в настройках, но не получилось.
база данных.yml
production:
adapter: sqlserver
database: Redmine01
dataserver: server\instance
port: ####
username: user
password: "password"
encoding: utf8mb4
Хотя я немного поигрался с рельсами раньше, мои знания о рельсах определенно ограничены, и я никогда не устанавливал соединение с сервером MS SQL и не использовал гем TinyTds, поэтому я подозреваю, что просто не настроил свою среду. правильно. Отсюда и мой пост здесь. Я был бы очень признателен, если бы один из вас, экспертов по рельсам, мог взглянуть на конфигурацию базы данных. Информация, которую я смог найти относительно настройки rails для подключения к именованному экземпляру в сочетании с нестандартным портом SQL, была ограничена.
В качестве примечания: для sqlcmd я использовал «-S server\instance,####» для установки соединения. Что я, конечно, пробовал и в database.yml, но безуспешно.