Untitled-model Documentation
Rapid sql query generator extention for node.
This is a Node.js module available through the npm registry.
Before installing, download and install Node.js. Node.js 0.10 or higher is required.
Installation is done using the
npm install
command:
$ npm install untitled-model
$ node
> var model = require('untitled-model')
>
Follow our installing guide for more information.
- Mysql database support
- Fetching data from database from sql
- Fetching data from relational database [foreign key]
- row SQL query [ all / filter / values / update / delete ]
If you discover a security vulnerability in untitled-model
, please see Security Policies and Procedures.
Start new project
$ mkdir myWeb && cd myWeb
$ node init
$ node i untitled-model
Create model:
# make sure your current dir should be ~/myWeb/
$ mkdir models
$ touch ./models/user.json
Copy and past this inside ~/models/user.json
{
"id" : {"dtype":"int","primary":true,"unique":true,"size":8,"auto-inc":true},
"name" : {"dtype":"string","size":100},
"address" : {"dtype":"text"},
"password" : {"dtype":"string","size":100,"secure":true}
}
/myWeb/test.js
var model = require('untitled-model');
model.connection(
{
host: "localhost",
user: "root",
password: "",
database:"test"
}
);
model.migrate('user.json');
The untitled-model philosophy is to provide a tool for programmers to send and receive
data to and from sql database.
Migrate function is use to generate tables inside database.
It supports relational database foreign key
concept.
department.json
{
"id" : {"dtype":"int","primary":true,"auto-inc":true},
"name" : {"dtype":"string","size":100}
}
user.json
{
"id" : {"dtype":"int","primary":true,"unique":true,"size":8,"auto-inc":true},
"name" : {"dtype":"string","size":100},
"address" : {"dtype":"text"},
"password" : {"dtype":"string","size":100,"secure":true},
"department":{"dtype":"foreign", "model":"department"}
}
-
User = { model: 'user', all: [Function], filter: [Function], values: [Function], update: [Function], insert: [Function], delete: [Function] , m: { model: 'user', select: [], FILTER: [], join: '', buffer: [], show: [Function], value: [Function], filter_: [Function], values: [Function], filters: [Function], rename: [Function] }, }
-
// It returns data to callback unction all(callback){ let table = this.model; let project = this.m.select; . . . . . . query = "select " +select+" from " + table ; . . . callback(error, data); } Example: User.all(function(err,data){ if(e) throw e; console.log(data); });
-
// It returns data to callback unction filter({id:5},callback){ let table = this.model; let project = this.m.select; . . . . . . query = "select " +select+" from " + table + " WHERE " + filters; . . . callback(error, data); } Example: User.filter({'id': 2},callback); User.filter({'id > ': 2},callback); User.filter({'id': 2,'name':'someone'},callback); User.filter({'id': 2},function(err,data){ if(err) throw err; console.log(data); });
-
- use __ for foreign table
// It returns data to callback unction function(select=[]){ . . . _set_select_vlaues_ . . . return this.m; } Example: User = User.values(['name','department__name']) User.all((error, data)=>{ if(error) throw error; console.log(data); }); // or User = User.values(['name','department__name']) User.filter({id:5},(error, data)=>{ if(error) throw error; console.log(data); })
-
rename({name:"UserName"});
- filter(callback)
- all(callback)
- use __ for foreign table
-
User.update({name:'pankaj'}).filter({name:'pankajdevesh'},(e, data)=>{ if(e) throw e; console.log(data); });
-
User.insert({name:'javascript'},(error, data)=>{ if(error) throw error; console.log(data); });
-
User.delete().filter({id:5},(error, data)=>{ if(error) throw error; console.log(data); });