Macro toolforge::connection_info[][src]

macro_rules! connection_info {
    ($dbname : expr) => { ... };
    ($dbname : expr, $cluster : ident) => { ... };
}
Expand description

Get connection information for the Toolforge databases.

The first argument is the database name, with or without a _p suffix. The second (optional) argument is which cluster to connect to, either WEB (default) or ANALYTICS.

You can also connect to the the meta_p database this way.

assert_eq!(
    "mysql://user:pass@enwiki.web.db.svc.eqiad.wmflabs:3306/enwiki_p".to_string(),
    toolforge::connection_info!("enwiki")?.to_string()
);
assert_eq!(
    "mysql://user:pass@enwiki.analytics.db.svc.eqiad.wmflabs:3306/enwiki_p".to_string(),
    toolforge::connection_info!(
        "enwiki",
        ANALYTICS
    )?.to_string()
);

Note: This requires the mysql feature to be enabled.

Local development

It is possible to set up a SSH tunnel to the wiki replicas to allow for local testing of MySQL connections. Copy your replica.my.cnf to your machine, and add local='true' to it. With that set, this library will automatically connect to port 3006 on your local machine.