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.
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 estrue, los objetos se convierten a string.insecureAuth: Boolean - si estrue, permite la conexión con instancias que solicitan autenticación antigua (insegura).typeCast: Boolean - si estrue, los valores de columna se convierten en tipos JavaScript nativos.supportBigNumbers: Boolean - si estrue, maneja columnas BIGINT y DECIMAL.bigNumberStrings: Boolean - si estrue, fuerza a que BIGINT y DECIMAL se devuelvan como String.dateStrings: Boolean - si estrue, fuerza a que los tipos de fecha se devuelvan como strings.debug: Boolean - si estrue, imprime detalles del protocolo en stdout.trace: Boolean - si estrue, genera trazas de pila de Errores.multipleStatements: Boolean - si estrue, 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:
// 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.
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 en0) de la fila deseada en el retorno de la consulta ejecutada.query: Object - espera el retorno de la versiónv1_0_0del método query (el dato se lee de la propiedadresponse).
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.
const getReply = await Database.MySQL.getReply.v1_0_0({
query: query
})
Parámetros obligatorios
query: Object - espera el retorno de la versiónv1_0_0del método query (los resultados se leen de la propiedadresponse).
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.
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 conTimeout.
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.
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.
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.
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.
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.