rake db: создание — rake прервано

#ruby-on-rails #database #postgresql #web-scraping

#ruby-on-rails #База данных #postgresql #очистка веб-страниц

Вопрос:

Привет, я пытаюсь перейти по этой ссылке, чтобы создать скребок, и я застрял, пытаясь создать БД https://towardsdatascience.com/job-board-scraping-with-rails-872c432ed2c8

Я получаю эту ошибку при вводе rake db:create текста, который я пытался создать внутри и снаружи папки, и я получаю эту ошибку, я не уверен, почему, большое вам спасибо. Я внимательно следил за ссылкой, поэтому у меня есть все те же файлы, и я уверен, что все было установлено правильно.

 rake aborted!
ActiveRecord::DatabaseConfigurations::InvalidConfigurationError: 
'{ default =>  }' is not a valid configuration. Expected '' to be a URL string or a Hash.
  

Это мой файл database.yml

 # SQLite. Versions 3.8.0 and up are supported.
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
#
default: amp;default
adapter: postgresql
pool: 5
timeout: 5000

development:
<<: *default  
database: scraper_development

test:
<<: *default
database: scraper_test

production:
<<: *default
url: <%= ENV['DATABASE_URL'] %> 

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
  

Заранее всем спасибо!

Обновить

Спасибо за указатель, который у меня был [ database.yml файл] с отступом, но я подумал, что ошибка подсказала мне удалить вкладки. теперь новая проблема:

 could not connect to server: No such file or directory
Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Couldn't create 'scraper_development' database.
Please check your configuration.

rails aborted!

PG::ConnectionBad: could not connect to server: No such file or directory

Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"
  

Комментарии:

1. Добро пожаловать в SO! Вы получаете ту же ошибку при запуске: ENV='test' rails db:create ? Действительно ли установлен драгоценный камень PostgreSQL (с терминала, запустить gem list pg )? Есть ли у вас PostgreSQL на вашем компьютере (с терминала, запустить postgres --version )?

2. env= ‘test’ выдал мне ту же ошибку

3. также список драгоценных камней pg показал, что у меня версия pg 1.2.3, а Postgres -version показывает, что у меня PostgreSQL 13.0

Ответ №1:

Файл находится в формате YAML. Подпункты должны иметь отступ.

 default: amp;default
  adapter: postgresql
  pool: 5
  timeout: 5000

development:
  <<: *default  
  database: scraper_development
  

Комментарии:

1. Спасибо за указатель, у меня был отступ, но я подумал, что ошибка подсказала мне удалить вкладки. теперь новая проблема: —> не удалось подключиться к серверу: сервер, работающий локально и принимающий соединения в доменном сокете Unix «/tmp/.s.PGSQL.5432», не содержит такого файла или каталога? Не удалось создать базу данных ‘scraper_development’. Пожалуйста, проверьте свою конфигурацию. рельсы прерваны! PG :: ConnectionBad: не удалось подключиться к серверу: нет такого файла или каталога, сервер работает локально и принимает подключения к доменному сокету Unix «/tmp/.s.PGSQL.5432»?

2. @bnhamood126 Ваша база данных Postgres не запущена. Я вижу, что в вашем руководстве не объясняется, как настроить Postgres или что такое Postgres. Вам нужно будет найти и следовать руководству по настройке Postgres.

3. @bnhamood126, я предлагаю этот урок , вы можете пропустить раздел «Требования к установке». Также не забудьте отметить ответ Шверна как правильный.

Ответ №2:

Вы можете добавить » gem’pg’, ‘>= 0.18’, ‘< 2.0’ » перейдите в файл gem и внесите необходимые настройки в файл YAML.

Ответ №3:

Я столкнулся с той же проблемой, и что я сделал, так это исправил отступ, и тогда это сработало.

database.yml Файл находится в формате YAML.поэтому убедитесь, что подпункты имеют правильный отступ. Пожалуйста, проверьте приведенный ниже пример о том, как вы должны сделать отступ.

This is how your database.yml file should look like

 default: amp;default
  adapter: postgresql
  pool: 5
  timeout: 5000

development:
  <<: *default  
  database: scraper_development

test:
  <<: *default
  database: scraper_test

production:
  <<: *default
  url: <%= ENV['DATABASE_URL'] %>