+ All Categories
Home > Technology > Sails.js Model / ORM introduce

Sails.js Model / ORM introduce

Date post: 08-May-2015
Category:
Upload: -
View: 8,779 times
Download: 3 times
Share this document with a friend
Description:
Sails.js Model / ORM introduce
47
Sails.js Model / ORM introduce
Transcript
Page 1: Sails.js Model / ORM introduce

Sails.js Model / ORM introduce

Page 2: Sails.js Model / ORM introduce

http://sailsjs.org/

Page 3: Sails.js Model / ORM introduce

sails 0.10 beta

• sails-0.10.0-reference

• .done() vs. .exec()

• Model Associations

• sails console

• promises in core

Page 4: Sails.js Model / ORM introduce

sails upgrade 0.10 beta

• npm i sails@beta -g

• npm i sails@beta -save

• npm i sails-mysql@beta -save

• npm i sails-mongo@beta -save

Page 5: Sails.js Model / ORM introduce

• config/connections.js • addconfig/models.js

DB Setting

Page 6: Sails.js Model / ORM introduce
Page 7: Sails.js Model / ORM introduce

Why you need ORM ?

Page 8: Sails.js Model / ORM introduce

How Create Table? traditional way

Page 9: Sails.js Model / ORM introduce

SHOW CREATE TABLE `post`; !ALTER TABLE `post` ADD `title` VARCHAR(100) NULL DEFAULT NULL AFTER `id`; !ALTER TABLE `post` ADD `content` TEXT DEFAULT NULL AFTER `title`;

MySQL

Page 10: Sails.js Model / ORM introduce

MySQL

Page 11: Sails.js Model / ORM introduce

SELECT * FROM `post` WHERE `id` = '1' LIMIT 1;

MySQL

Page 12: Sails.js Model / ORM introduce

MySQL

Page 13: Sails.js Model / ORM introduce

Terrible happened

• DB schema modify

• Multi tables join

• Migrate Table or Database

• Change adapter

• more ...

Page 14: Sails.js Model / ORM introduce

Can we controller Model from Code???

Page 15: Sails.js Model / ORM introduce

ORMObjective Orient Model

Page 16: Sails.js Model / ORM introduce

Object Orented

Page 17: Sails.js Model / ORM introduce

adpters

Page 18: Sails.js Model / ORM introduce

one of best practices

Page 19: Sails.js Model / ORM introduce

Sql & Nosql

Page 21: Sails.js Model / ORM introduce

WaterlineSails.js ORM module

Page 22: Sails.js Model / ORM introduce

Model

• file path -> api/models

• Capital naming

• Set schema and rule.

• ORM like

• you can use multi-adapter

Page 23: Sails.js Model / ORM introduce

Model Associations

• sails 0.10 new Feature

• Many-to-Many

• One-to-Many

• One-to-One

Page 24: Sails.js Model / ORM introduce

Disk database (default)

Page 25: Sails.js Model / ORM introduce

Adapter support

• MySQL

• MongoDB

• Redis

• ...

• http://sailsjs.org/#!documentation/models

Page 26: Sails.js Model / ORM introduce

Adapter config

Page 27: Sails.js Model / ORM introduce

• config/connections.js • addconfig/models.js

DB Setting

Page 28: Sails.js Model / ORM introduce

Attribute type• string

• text

• integer

• float

• date

• time

• datetime

• boolean

• binary

• array

• json

Page 29: Sails.js Model / ORM introduce

Custom Defined Instance Methods

Page 30: Sails.js Model / ORM introduce

example, api/models/Post.js

Page 31: Sails.js Model / ORM introduce

example, api/models/Post.js

generate a table and column

Page 32: Sails.js Model / ORM introduce

Auto migration

Page 33: Sails.js Model / ORM introduce

example2, api/models/Post.js

insert a attribute in Post model

Page 34: Sails.js Model / ORM introduce

Before and After

Page 35: Sails.js Model / ORM introduce

Lifecycle Callbacks

sails model

Page 36: Sails.js Model / ORM introduce
Page 37: Sails.js Model / ORM introduce

define Model Associations

Page 38: Sails.js Model / ORM introduce

One to One

Page 39: Sails.js Model / ORM introduce

One to Many

Page 40: Sails.js Model / ORM introduce

Controller and Model

Page 41: Sails.js Model / ORM introduce

example, controller call Post model

Page 42: Sails.js Model / ORM introduce

example, controller call Post model

model name

Page 43: Sails.js Model / ORM introduce

example, controller call Post model

model behavior

Page 44: Sails.js Model / ORM introduce

example, controller call Post model

new data

Page 45: Sails.js Model / ORM introduce

example, controller call Post model

success callback

& response

Page 46: Sails.js Model / ORM introduce

Model documenthttp://sailsjs.org/#!documentation/models

Page 47: Sails.js Model / ORM introduce

• User.create({name:"smlsun"}).exec(console.log);

• Post.create({title:"post", content:"body", user:1}).exec(console.log);

• Post.create({title:"post another", content:"body", user:1}).exec(console.log);

• Post.find().exec(console.log);

• Post.find().populate("user").exec(console.log);

• User.find().populate("posts").exec(console.log);

• Profile.create({email: "[email protected]", user:1}).exec(console.log)

• Profile.find().populate("user").exec(console.log);


Recommended