
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
tabla-model
Advanced tools
tabla-model es un modulo de Node.js valido registrado en npm registry.
Para instalar use npm install command:
$ npm install tabla-model
tabla-model crear representaciones de tablas sql en modelos de datos javasript y viseversa.
para usar tabla-model solo es neseario instancear un objeto de la clase principal y agregar los datos
Ejemplo:
// file ./model/test1.js
const model=require("tabla-model")
const test1=new model("test3",[
{
name:"id",
type:"int",
primary:true,
autoincrement:true
},
{
name:"row1",
type:"text"
},
{
name:"row2",
type:"int",
},
{
name:"row3",
type:"date",
}
])
test1.foreingKey({ // se agrega las claves foraneas
key:"row2",
reference:"test4",
keyReference:"id_key2",
onUpdate:'CASCADE',
onDelete:'NO ACTION',
// match: ' '
})
console.log(test1.sql())
Constructor de la clase
tabla {string}: nombre de la tabla o sentencia sql para crear una tabla y se usaran los campos y claves foraneas de la sentenciaconfig {object|array}: si el primer parametro es el nombre de una tabla este sera los datos de el modelo {colums:Array, foreingKey:Array} si es un array se tomara como las columnas en caso de que el primer parametro sea un sentencia sql CREATE TABLE este sera el caracter de escape sqlconst model=require("tabla-model")
const test1=new model("test3",{
colums:[
{
name:"id",
type:"int",
primary:true,
autoincrement:true
},
{
name:"row1",
type:"text"
},
{
name:"row2",
type:"int",
},
{
name:"row3",
type:"date",
}
],
foreingKey:[
{ // se agrega las claves foraneas
key:"row2",
reference:"test4",
keyReference:"id_key2",
onUpdate:'CASCADE',
onDelete:'NO ACTION',
// match: ' '
}
]
})
const model=require("tabla-model")
const test1=new model(`create table test1(
id int not null AUTO_INCREMENT,
row1 text,
row2 int,
row3 date,
primary key (id),
foreing key row2 references test4(id_key2)
on update cascade
on delete no action
)`)
Agrega una columna al modelo
coll {object}: objeto con los datos de la columna, este objeto debe contar con los siguientes atributos{
name:String,//nombre de la columna
type:String,// tipo de dato de la columna segun el motor de base de datos
defaultNull:Boolean,//(opcional) true si el valor por defecto puede ser null
primary:Boolean,//(opcional) true si es una clave primaria
unique:Boolean,//(opcional) true si es una indice unico
defaul:String//(opcional) valor por defecto
}
Agrega una clave foraanea a el modelo
key {object}: objeto con los datos clave foranea, este objeto debe contar con los siguientes atributos{
key:String|Array,// nombre del campo para la clave foranea
reference:String,// nombre de la tabla a la que hace referencia
keyReference:String|Array,//nombre del campo en la table de referencia
match:String,//
onDelete:String,//indica que acciones se deben realizar en la tabla actual
// si se borra una fila en la tabla referenciada
onUpdate:String//indica que acciones se deben realizar en la tabla actual
// si se edita una fila en la tabla referenciada
}
Agrega datos a para la inicializacion de la tabla
...params: se pueden agregar parametro a parametro o en un array en un unico parametroAgrega un metodo al modelo de la tabla
name {string}: nombre del metodocallback {function}: funcion correspondienteRetorna un objeto con todos los datos agregados al modelo en el formato *
{
tabla:String,// nombre de la tabla
colums:Array,// columnas de la tabla
foreingKey:Array,// claves foranes de la tabla
init:Array,// datos de inicializacion
methods:Object// metodos agregados al modelo
}
Retorna el sql nesesario para crear la tabla del modelo
config {object}: configuracion para el helper {escapeChar:String, reserveIdentifiers:Array, ar_aliased_tables:String, dbprefix:String, escapeString:String}const model=require("tabla-model")
const test1=new model("test3",{
colums:[
{
name:"id",
type:"int",
primary:true,
autoincrement:true
},
{
name:"row1",
type:"text"
},
{
name:"row2",
type:"int",
},
{
name:"row3",
type:"date",
}
],
foreingKey:[
{ // se agrega las claves foraneas
key:"row2",
reference:"test4",
keyReference:"id_key2",
onUpdate:'CASCADE',
onDelete:'NO ACTION',
// match: ' '
}
]
})
console.log(test1.sql({escapeString:"`"}))
Crea un archivo javascript con los datos del modelo para ser usado
file: Nombre del fichero donde sera guardado el modeloFAQs
crear representaciones de tablas sql en modelos de datos
We found that tabla-model demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.