Не могу использовать DB: создать, когда я пытаюсь настроить CartoDB - PullRequest
0 голосов
/ 22 марта 2019

Когда я выполняю RAILS_ENV=development bundle exec rake db:create, я получаю это:

рейк отменен!Нет базы данных, связанной с Sequel :: Model: вы вызывали Sequel.connect или Sequel :: Mode.db =?

Я пытался выполнить RAILS_ENV=development bundle exec rake db:drop, и я получил это:

рейк прерван!База данных не настроена.Пожалуйста, создайте config / database.yml или установите DATABASE_URL в среде.

Я не вижу, в чем может быть настоящая проблема, потому что у меня есть config / database.yml и она правильная, потому что загружается из CartoDB и не должнасоздавать проблемы.

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

Я попытался выполнить команду с DATABASE_URL=/path/to/database.yml/ и получил те же проблемы.

Я попытался удалить database.yml и получил те же ошибки, как будто это даже не имело значения, было ли это там или нет,Это может заставить вас думать, что у меня есть файлы не в том месте, но я попытался выполнить удаление app_config.yml и получил и ошибку, что файл отсутствует.Эти два файла должны находиться в одной папке, поэтому я думаю, что проблема не в том.

В конце я создал базу данных на psql с нужным мне именем, и все работало после (например, db: migrate),Проблема в том, что мне нужно создать их, используя файл database.yml, а не самостоятельно.

Вот мой файл database.yml на случай, если я что-то пропустил:

production:
  adapter: postgresql
  encoding: unicode
  host: localhost
  port: 5432
  direct_port: 5432
  database: carto_db_production
  username: postgres
  password:
  conn_validator_timeout: 900
  connect_timeout: 2.5
  prepared_statements: false

staging:
  adapter: postgresql
  encoding: unicode
  host: localhost
  port: 5432
  direct_port: 5432
  database: carto_db_staging
  username: postgres
  password:
  conn_validator_timeout: 900
  connect_timeout: 2.5
  prepared_statements: false

development:
  adapter: postgresql
  encoding: unicode
  host: localhost
  port: 5432
  direct_port: 5432
  database: carto_db_development
  username: postgres
  password:
  conn_validator_timeout: 900
  connect_timeout: 2.5
  pool: 50
  prepared_statements: false

test:
  adapter: postgresql
  encoding: unicode
  database: carto_db_test
  host: localhost
  port: 5432
  direct_port: 5432
  username: postgres
  password:
  conn_validator_timeout: -1
  connect_timeout: -1
  prepared_statements: false

1 Ответ

0 голосов
/ 25 марта 2019

Очевидно, это была ошибка в CartoDB, и они были исправлены в последнем выпуске.

...