tabla-model

1.4.0 • Public • Published

tabla-model

NPM Version NPM Downloads Node.js Version

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.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())

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 sentencia
  • config {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=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
    )`)

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 metodo
  • callback {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=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:"`"}))

sqlModel#saveModel(file)

Crea un archivo javascript con los datos del modelo para ser usado

  • file: Nombre del fichero donde sera guardado el modelo

Readme

Keywords

Package Sidebar

Install

npm i tabla-model

Weekly Downloads

6

Version

1.4.0

License

MIT

Unpacked Size

40.2 kB

Total Files

9

Last publish

Collaborators

  • ever23