untitled-model
v1.0.5
Published
sql models
Downloads
9
Readme
Untitled-model Documentation
Rapid sql query generator extention for node.
Installation
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
test installation
$ node
> var model = require('untitled-model')
>
Follow our installing guide for more information.
Features
- Mysql database support
- Fetching data from database from sql
- Fetching data from relational database [foreign key]
- row SQL query [ all / filter / values / update / delete ]
Security Issues
If you discover a security vulnerability in untitled-model
, please see Security Policies and Procedures.
Quick Start
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
User model :
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}
}
Migrating models
/myWeb/test.js
var model = require('untitled-model');
model.connection(
{
host: "localhost",
user: "root",
password: "",
database:"test"
}
);
model.migrate('user.json');
Philosophy
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.
foreign key
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"}
}
Functions
User = model.get('user')
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] }, }
User.all(callback)
requires sql connection
// 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); });
User.filter({},callback)
requires sql connection
// 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); });
User.values(['attr'])
sql projection
- 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); })
show()
// returns Query string
rename({})
// rename the attributes in query string
rename({name:"UserName"});
- filter(callback)
- all(callback)
- use __ for foreign table
update({})
returns model
User.update({name:'pankaj'}).filter({name:'pankajdevesh'},(e, data)=>{ if(e) throw e; console.log(data); });
insert({}, callback)
insert into database
User.insert({name:'javascript'},(error, data)=>{ if(error) throw error; console.log(data); });
delete().filter({},callback)
delete from database
User.delete().filter({id:5},(error, data)=>{ if(error) throw error; console.log(data); });