1.0.10 • Published 1 year ago

@ethereum_net_stats/get_mysql_connection v1.0.10

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

About

This package gets mysql pool connections using mysql2/promise.

Usage

Make a new file .env like .envSample on the same directory with index.ts like below.

MYSQL_VPN_ADDRESS=123.123.123.123
MYSQL_LAN_ADDRESS=64.64.64.64
MYSQL_LAN_ADDRESS=5.5.5.5
MYSQL_PORT=1234
MYSQL_USER=alice
MYSQL_PASS=password
DATABASE=schemaName

Then import the package and define a pool connection like below.

import {getMysqlConnection} from "@pierogi.dev/get_mysql_connection";
import type {Pool} from "@pierogi.dev/get_mysql_connection";
const pool: Pool = await getMysqlConnection(false); //true to use MYSQL_VPN_ADDRESS.

If you want to use a docker network, you can use the below.

// If you want to use a docker network, set the second argument to true and the first argument to false.
const pool: Pool = await getMysqlConnection(false, true);
// If you set both arguments to true, the process will throw an error.
const pool2: Pool = await getMysqlConnection(true, true); // This will throw an error.

These addresses are only used according to the arguments of getMysqlConnections(). Thus, if your hosted MySQL server allows regular connections and VPN connections, you can set the VPN address to MYSQL_VPN_ADDRESS, the regular address to MYSQL_LAN_ADDRESS and the docker network address to MYSQL_DOCKER_ADDRESS to switch these connections with the above arguments.

So you can do querying like below.

await pool.query(`INSERT INTO ${tableName} SET ?`, recordData);

Note

The address set in MYSQL_VPN_ADDRESS can be a normal address, but the user name, password, port number, and database name cannot be switched, so you cannot use two different MySQL servers. This is just a package for my personal use.

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago