tabla-model
Tabla de contenidos
install
tabla-model es un modulo de Node.js valido registrado en npm registry.
Para instalar use npm install
command:
$ npm install tabla-model
introduccion
tabla-model crear representaciones de tablas sql en modelos de datos javasript y viseversa.
uso
para usar tabla-model solo es neseario instancear un objeto de la clase principal y agregar los datos
Ejemplo:
// file ./model/test1.jsconst model=const test1="test3" name:"id" type:"int" primary:true autoincrement:true name:"row1" type:"text" name:"row2" type:"int" name:"row3" type:"date" test1console
sqlModel#constructor(tabla,config)
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 sql
const model=const test1="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=const test1=`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 )`
sqlModel#colum(coll)
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
sqlModel#foreingKey(key)
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
sqlModel#insert(...params)
Agrega datos a para la inicializacion de la tabla
...params
: se pueden agregar parametro a parametro o en un array en un unico parametro
sqlModel#method(name,callback)
Agrega un metodo al modelo de la tabla
name {string}
: nombre del metodocallback {function}
: funcion correspondiente
sqlModel#getData()
Retorna 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
sqlModel#sql(config)
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=const test1="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
sqlModel#saveModel(file)
Crea un archivo javascript con los datos del modelo para ser usado
file
: Nombre del fichero donde sera guardado el modelo