Skip to content

MySQL Loader Plugin

The MySQL loader plugin transforms .sql files into JavaScript functions that Emigrate can use to execute the migrations. In the same package you can find the MySQL Generator and the MySQL Storage.

Installation

Terminal window
npm install @emigrate/mysql

Configuration

The MySQL loader plugin can be configured either using environment variables or by configuring the plugin directly in the emigrate.config.js file.

Configuration file

emigrate.config.js
import { createMysqlLoader } from '@emigrate/mysql';
export default {
plugins: [
createMysqlLoader({
connection: { ... },
}),
],
};

Options

connection (required)

type: object | string

The connection options to use for connecting to the MySQL database when the SQL statements from the migration files are executed. This can either be a connection URI or an object with connection options. For a list of supported connection options, see the mysql documentation.

Environment variables

The following environment variables are supported:

VariableDescriptionDefault
MYSQL_URLThe full URI for connecting to a MySQL database, e.g: "mysql://user:pass@127.0.0.1:3306/database"
MYSQL_HOSTThe host on which the MySQL server instance is running"localhost"
MYSQL_USERThe MySQL user account to use for the authentication
MYSQL_PASSWORDThe MySQL user password to use for the authentication
MYSQL_PORTThe network port on which the MySQL server is listening3306
MYSQL_DATABASEThe MySQL database to use for the connection

The environment variables are used when the plugin is used using the --plugin command line option:

Terminal window
npx emigrate list --plugin mysql

Or when specifying the plugin in the emigrate.config.js file as a string:

emigrate.config.js
export default {
plugins: ['mysql'],
};