mysql1_dart icon indicating copy to clipboard operation
mysql1_dart copied to clipboard

Connection with a connection string

Open Atulin opened this issue 4 years ago • 2 comments

Sometimes it's easier to just connect with a connection string. Heroku, for example, adds it to the environmental variables as soon as a database is installed. It's formatted as

mysql://username:password@host:port/database

Would be nice if a constructor that accepts it was added.

Atulin avatar Feb 15 '20 00:02 Atulin

This regex should do the trick:

void main() {
  var reg = r'mysql:\/\/(\w+)\:(\w+)\@(.+)\:(\d+)\/(\w+)';
  var str = 'mysql://username:password@host:145/database';
  var regExp = new RegExp(reg);
  
  var m = regExp.firstMatch(str);
  
  print("${m.group(1)}"); // username
  print("${m.group(2)}"); // password
  print("${m.group(3)}"); // host
  print("${m.group(4)}"); // port
  print("${m.group(5)}"); // database
  
}

Atulin avatar Feb 15 '20 00:02 Atulin

If you want to make a PR adding ConnectionSettings.url(String url) {} Would also need tests.

adamlofts avatar Apr 23 '20 12:04 adamlofts