Когда я выполняю 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