2.0.18 • Published 3 years ago

very-simple-orm v2.0.18

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

very-simple-orm

This is a orm built to retrive sql statments. so retrived statmets can be passed to your data connection drivers This tested with mssql database

What this orm does?

  1. It generats sql statements
  2. It helps to evalavates values passed to database at single place DR
  3. Easy to use
  4. Not bound to any drivers so user has advanteges of choosing.
  5. Allow raw sqls
  6. Generats the tables thus object mapping becomes easy with your code more so if using typescript
  7. If used with typescript use table structerd interface

Javascript example

const { Table } = require("very-simple-orm")
const validator = require("validator")

let user = new Table("userTest", [
    {
        "fieldName": "id",
        "type": {"Number" : "Number", "autoIncrement" : true},
        "unique": true,
        "PrimeryKey": true,
        "null": false,

    },
    {
        "fieldName": "username",
        "type": {"String" : "String", "size" : 150},
        "unique": true,
        "null": false
        
    },
    {
        "fieldName": "password",
        "type": {"String" : "String", "size" : 200},
        "unique": false,
        "null": false,
    },
    {
        "fieldName": "email",
        "type": {"String" : "String", "size" : 200},
        "unique": false,
        "null": false,
        "validate" : (value =>{
            if(validator.isEmail(value)){
                return true
            }else{
                return false
            }
        })
    },
    {
        "fieldName": "gender",
        "type": {"Enum" : "Enum", "enumValues" :['Male', 'Female', 'Not Specified', 'Transgender'] },
        "null": false,
        "unique" : false,
        "default" : {"AS_DEFINED" : "AS DEFINED", "value" : "(curdate())"}


    },
    {
        "fieldName": "orgId",
        "null": false,
        "type": {"Number" : "Number"}

    }


])


let org = new Table("orgTest", [
    {
        "fieldName": "id",
        "type": {"Number" : "Number", "autoIncrement" : true},
        "PrimeryKey": true,
        "null": false,
        "unique": true
    },
    {
        "fieldName": "orgName",
        "type": {"String" : "String"},
        "unique": true,
        "null": false,

    }
])








//return the sql string and values of arguments
// console.log(user.createTable())
// console.log(org.createTable())
// console.log(user.relatetable("orgId", "orgTest", "id", "RESTRICT", "RESTRICT"))


/**
 * ===============
 *  SELECT
 * ===============
 */
// console.log(user.selectById({"fieldName": "id", "value" : 1},["id", "email", "username"], {"fields" : ["id", "email"], "by" : "DESC"}))
console.log(user.select([
    {"fieldName" : "name", "value" : "umesh", "operator" : "=", "separator" : "AND"},
    {"fieldName" : "gender", "value" : "Male", "operator" : "!=" , "separator" : "OR"},
    {"fieldName" : "email", "value" : "%umesh@gmail.com%", "operator" : "LIKE" , "separator" : "NONE" },
],["id", "name", "gender"], {}, 100, 50,[{
    "type" : "RIGHT JOIN",
    "otherTable" : "orgnization",
    "otherTableSelectField" : ["organization_name", "address"],
    "otherTableJoinField" : "id",
    "thistableJoinField" : "organizationId"
},{
    "type" : "INNER JOIN",
    "otherTableJoinField" : "id",
    "thistableJoinField" : "patientId",
    "otherTable" : "doctor",
    "otherTableSelectField" : ["name"]
}
]))

console.log(user.select())

/**
 * =====================
 *  UPDATE
 * ======================
 */
// console.log(user.updateById({"fieldName" : "id", "value" : 1}, [
//     {"fieldName" : "name" , value : "han"},
//     {"fieldName" : "gender" , value : "Female"},
//     {"fieldName" : "email", "value" : "umeshbilagi@gmail.com"}
// ]))

// console.log(user.update(
//     [{"fieldName" : "pincode", "value" : "589057"}, {"fieldName" : "mobile", "value" : "9856789"}],
//     [   {"fieldName" : "mobile", "value" : "", "operator" : "=", "separator" : "OR"},
//         {"fieldName" : "pincode", "value" : "", "operator" : "=", "separator" : ""}]
// ))


/***
 * ==================
 *  INSERT
 * ================
 */
// console.log(org.insert([
//     { "fieldName": "id", "value": 1 },
//     { "fieldName": "name", "value": "JJH" }
// ]))

// console.log(
//     org.insertMany([
//         [{"fieldName" : "id", "value" : 1}, { "fieldName": "name", "value": "JJH" }],
//         [{"fieldName" : "id", "value" : 2}, { "fieldName": "name", "value": "TDH" }],
//         [{"fieldName" : "id", "value" : 3}, { "fieldName": "name", "value": "MH" }],
//     ])
// )


    
/**
 * ==================
 *  DELETE
 * ================
 */

// console.log(user.deleteById({fieldName : "id", "value" : 1}))
// console.log(user.fields.map(el => {
//     return el.fieldName
// }))

// console.log(user.delete([
//     {"fieldName" : "firstName", "value" : "%um%", "operator" : "LIKE", "separator" : "AND"},
//     {"fieldName" : "middleName", "value" : "M", "operator" : "!=", "separator" : "NONE"}

// ]))


// console.log(user.getConstraint("user_org"))
2.0.18

3 years ago

2.0.15

3 years ago

2.0.16

3 years ago

2.0.17

3 years ago

2.0.14

3 years ago

2.0.13

3 years ago

2.0.12

3 years ago

2.0.11

3 years ago

2.0.10

3 years ago

2.0.9

3 years ago

2.0.8

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago