📝

Node.jsのmysql2で.sqlを実行するときの備忘録

に公開

mysql2で.sqlを実行するときにいろいろ手間取ったので備忘録として。
今回.sqlはmysqldumpとします。

mysql.createConnection()のオプションで工夫がいります。

const option = (connectionLimit: number = 10) => {
  return {
    host: Config.database.host,
    port: Config.database.port,
    user: Config.database.user,
    password: Config.database.pass,
    database: Config.database.db,
    waitForConnections: true,
    connectionLimit: connectionLimit,
    multipleStatements: true, // こいつを有効化する
  }
};

こんな感じに改行削除などもせずにpool.query叩けば動きます。

const sql = readFileSync(`${getDirname(import.meta.url)}peas.sql`, "utf-8");
await pool.query<RowDataPacket[]>(sql);

Discussion