Saltar al contenido principal
Roberty Studio
RPADatabase

MySQL

MySQL

El módulo MySQL es responsable de crear una conexión y manipular datos de una base de datos MySQL.

Métodos​

connection​

Acción responsable de crear una conexión con la base de datos MySQL.

js
const connection = await Database.MySQL.connection.v1_0_0({
host: '',
port: number,
user: '',
password: '',
localAddress?: '',
socketPath?: '',
timezone?: '',
connectTimeout?: number,
stringifyObjects?: boolean,
insecureAuth?: boolean,
typeCast?: boolean,
supportBigNumbers?: boolean,
bigNumberStrings?: boolean,
dateStrings?: boolean,
debug?: boolean,
trace?: boolean,
multipleStatements?: boolean,
flags?: '',
ssl?: '',
database?: '',
})

Parámetros obligatorios​

  • host: String - espera el nombre del host de la base de datos a la que te estás conectando.
  • port: Number - espera el número del puerto al que deseas conectarte.
  • user: String - espera el usuario de MySQL.
  • password: String - espera la contraseña de MySQL.

Parámetros opcionales​

  • database: String - nombre de la base de datos.
  • localAddress: String - dirección IP de origen que será usada para la conexión TCP.
  • socketPath: String - ruta a un socket de dominio unix al que deseas conectarte.
  • timezone: String - zona horaria configurada en el servidor MySQL.
  • connectTimeout: Number - milisegundos para el tiempo límite de conexión con el servidor MySQL.
  • stringifyObjects: Boolean - si es true, los objetos se convierten a string.
  • insecureAuth: Boolean - si es true, permite la conexión con instancias que solicitan autenticación antigua (insegura).
  • typeCast: Boolean - si es true, los valores de columna se convierten en tipos JavaScript nativos.
  • supportBigNumbers: Boolean - si es true, maneja columnas BIGINT y DECIMAL.
  • bigNumberStrings: Boolean - si es true, fuerza a que BIGINT y DECIMAL se devuelvan como String.
  • dateStrings: Boolean - si es true, fuerza a que los tipos de fecha se devuelvan como strings.
  • debug: Boolean - si es true, imprime detalles del protocolo en stdout.
  • trace: Boolean - si es true, genera trazas de pila de Errores.
  • multipleStatements: Boolean - si es true, permite varias instrucciones MySQL por consulta.
  • flags: String - banderas que serán insertadas o eliminadas de las consultas.
  • ssl: String - objeto con parámetros SSL o string con el nombre del perfil SSL.
  • urlConnection: String - URL de conexión con la base de datos (ej.: mysql://usuario:contraseña@localhost:3306/base). Cuando se indica, se usa en lugar de los demás datos de acceso.

Retorno​

La versión v1_0_0 no abre la conexión: solo valida y devuelve el objeto de configuración indicado, que debe pasarse en el parámetro connection de la versión v1_0_0 del método query. Ese objeto no funciona con los métodos close, transactionBegin, transactionCommit y transactionRollback.

Para obtener una conexión abierta, usa la versión v2_0_0 (recibe la connectionString) o la v3_0_0 (recibe el connectionId de una conexión configurada en el workspace, en Workspace → Conexiones). Ambas aceptan connectTimeout (tiempo máximo, en segundos, para que el servidor acepte la conexión) y queryTimeout (tiempo límite predeterminado, en segundos, de toda consulta realizada con esta conexión; 0 = sin límite) y devuelven la conexión, que es la esperada por el parámetro connection de la versión v2_0_0 del método query y de los métodos de transacción y cierre:

js
// connection string
const connection = await Database.MySQL.connection["v2_0_0"]({
connectionString: "mysql://usuario:senha@localhost:3306/banco",
connectTimeout: 10,
queryTimeout: 60,
})

// conexión configurada en el workspace
const connection = await Database.MySQL.connection["v3_0_0"]({
connectionId: "id-de-la-conexion-configurada-en-el-workspace",
connectTimeout: 10,
queryTimeout: 60,
})

getDataValue​

Acción responsable de obtener un determinado dato de una posición de una respuesta de un comando SQL ejecutado en una base de datos MySQL.

js
const getDataValue = await Database.MySQL.getDataValue.v1_0_0({
column: '',
row: 1,
query: query
})

Parámetros obligatorios​

  • column: String - nombre de la columna de MySQL deseada.
  • row: Number - posición (comenzando en 0) de la fila deseada en el retorno de la consulta ejecutada.
  • query: Object - espera el retorno de la versión v1_0_0 del método query (el dato se lee de la propiedad response).

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

La constante o variable creada, como la getDataValue del ejemplo mostrado anteriormente, recibirá un valor del tipo Object. El objeto devuelto tendrá la siguiente propiedad:

  • getDataValue.value: text - devuelve el dato obtenido de una consulta MySQL.

getReply​

Acción responsable de obtener la respuesta de un comando SQL ejecutado en una base de datos MySQL. Puede utilizarse después de un SELECT.

js
const getReply = await Database.MySQL.getReply.v1_0_0({
query: query
})

Parámetros obligatorios​

  • query: Object - espera el retorno de la versión v1_0_0 del método query (los resultados se leen de la propiedad response).

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

La constante o variable creada, como la getReply del ejemplo mostrado anteriormente, recibirá un valor del tipo Object. El objeto devuelto tendrá la siguiente propiedad:

  • getReply.values: array - devuelve los resultados de un SELECT ejecutado en una consulta MySQL.

query​

Acción responsable de ejecutar un comando SQL en una base de datos MySQL.

js
const query = await Database.MySQL.query.v1_0_0({
connection: connection,
query: '',
timeout: 1
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - ID de la conexión MySQL creada anteriormente.
  • query: String - consulta que será ejecutada. Ejemplo: SELECT * FROM teste.teste.

Parámetros opcionales​

  • timeout: Number - tiempo límite, en segundos, de esta consulta. Predeterminado: 120. 0 = sin límite. Al alcanzar el límite, la promesa se rechaza con un error cuyo mensaje comienza con Timeout.

Retorno​

La constante o variable creada, como la query del ejemplo mostrado anteriormente, recibirá un valor del tipo Object. El objeto devuelto tendrá las siguientes propiedades:

  • query.size: number - cantidad de datos devueltos por la consulta.
  • query.query: text - devuelve la consulta que fue ejecutada.
  • query.response: array - resultados de la consulta.
  • query.insertedId: number - ID del registro insertado.
  • query.affectedRows: number - cantidad de filas afectadas.
  • query.changedRows: number - cantidad de filas modificadas.

La versión v2_0_0 de este método recibe la conexión abierta por las versiones v2_0_0 o v3_0_0 del método connection. En ella, cuando se omite timeout, se aplica el queryTimeout de la conexión (y, sin él, 120 segundos), y el retorno trae query.results (Array) y query.resultsCount (Number) en lugar de query.response y query.size, además de query.query, query.insertedId, query.affectedRows y query.changedRows.

close​

Acción responsable de cerrar una conexión con la base de datos MySQL.

js
await Database.MySQL.close["v1_0_0"]({
connection: connection,
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

Esta acción no tiene retorno.

transactionBegin​

Acción responsable de iniciar una transacción en una conexión MySQL.

js
await Database.MySQL.transactionBegin["v1_0_0"]({
connection: connection,
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

Esta acción no tiene retorno.

transactionCommit​

Acción responsable de confirmar (commit) una transacción iniciada en una conexión MySQL.

js
await Database.MySQL.transactionCommit["v1_0_0"]({
connection: connection,
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

Esta acción no tiene retorno.

transactionRollback​

Acción responsable de deshacer (rollback) una transacción iniciada en una conexión MySQL.

js
await Database.MySQL.transactionRollback["v1_0_0"]({
connection: connection,
})

Parámetros obligatorios​

  • connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.

Parámetros opcionales​

Esta acción no tiene parámetros opcionales.

Retorno​

Esta acción no tiene retorno.