什么是TravisCI上ActiveRecord的MySQL数据库的正确连接字符串?

时间:2017-08-28 06:38:54

标签: mysql ruby activerecord travis-ci rails-event-store

这是我的一个有问题的版本:

这是错误:

Mysql2::Error:
Access denied for user 'travis'@'%' 
to database 'rails_event_store_active_record'

这是我尝试的连接字符串列表

  • DATABASE_URL=mysql2://travis:@127.0.0.1/rails_event_store_active_record?pool=5
  • DATABASE_URL=mysql2://travis@127.0.0.1/rails_event_store_active_record?pool=5
  • DATABASE_URL=mysql2://travis@localhost/rails_event_store_active_record?pool=5

这就是我创建数据库的方式:

before_script:
  - mysql -e 'CREATE DATABASE rails_event_store_active_record;'

负责连接的代码:

ENV['DATABASE_URL'] ||= "postgres://localhost/rails_event_store_active_record?pool=5"

RSpec.configure do |config|
  config.failure_color = :magenta
  config.around(:each) do |example|
    ActiveRecord::Base.establish_connection(ENV['DATABASE_URL'])

一切正常when I test my gem with Postgresql但是Mysql失败了。

https://docs.travis-ci.com/user/database-setup/#MySQL - 记录如何连接到MySQL数据库,我不知道我现在做错了什么。

1 个答案:

答案 0 :(得分:2)

我只是尝试了一个选项并且它有效。显然我不得不使用root用户而不是travis,尽管文档说明了......

DATABASE_URL=mysql2://root:@127.0.0.1/rails_event_store_active_record?pool=5