Невозможно создать базу данных с ActiveRecord из скрипта - PullRequest
0 голосов
/ 26 октября 2018

Команды, которые я запускаю:

config['development']
 => {"adapter"=>"mysql2", "encoding"=>"utf8mb4", "collation"=>"utf8mb4_bin", "pool"=>1, "username"=>"root", "password"=>nil, "host"=>"localhost", "database"=>"my_db"} 
ActiveRecord::Base.establish_connection(config['development'])
 => #<ActiveRecord::ConnectionAdapters::ConnectionPool:0x007fe20592b348 ...
ActiveRecord::Base.connection.create_database(config['development']['database'])
ActiveRecord::NoDatabaseError: Unknown database 'my_db'

В нем говорится о неизвестной базе данных, но я на самом деле пытаюсь создать базу данных с помощью create_database, и я следую документации:

https://apidock.com/rails/ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/create_database

Почему это не работает?

1 Ответ

0 голосов
/ 26 октября 2018

Учитывая database.yml:

database.yml
default: &default
  adapter: mysql2
  encoding: utf8mb4
  collation: utf8mb4_bin
  pool: 5
  username: root
  password:
  host: localhost

development:
  <<: *default
  database: my_db
test:
  <<: *default
  database: my_db_test

Я заработал, установив соединение без базы данных, а затем создав базу данных:

@config = YAML.load(File.open(File.expand_path('../../lib/my_gem_config/database.yml', __FILE__)))
ActiveRecord::Base.establish_connection(config['default'])
ActiveRecord::Base.connection.create_database(@config['development']['database'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...