A tiny Promise-Based WebSQL ORM for Javascript that offers everything you need for 99% of the use cases
/**
* Create a nice Named function so that we can do console.log and see a Serie object
*/
function Serie() {
CRUD.Entity.call(this);
}
/**
* Extend the Named Function with CRUD definitions and register it in the CRUD.EntityManager
* Signature:
* CRUD.Define(Entity, {options}, {prototypeMethods});
*/
CRUD.define(Serie, {
table: 'Series', // Database table this entity is bound to
primary: 'ID_Serie', // Primary key. Make sure to use uniquely named keys, don't use 'id' on every table and refer to 'id_something'
fields: [ // List all individual properties. Accessors will be auto-created (but can be overwritten)
'ID_Serie',
'name',
'banner',
'overview',
'TVDB_ID',
'actors'
],
createStatement: 'CREATE TABLE Series (ID_Serie INTEGER PRIMARY KEY NOT NULL, name VARCHAR(250) DEFAULT(NULL), banner VARCHAR(1024) DEFAULT(NULL), overview TEXT DEFAULT(NULL), TVDB_ID INTEGER UNIQUE NOT NULL, actors VARCHAR(1024) DEFAULT(NULL))',
});
var serie = new Serie();
serie.name = 'Arrow';
serie.TVDB_ID = '257655';
serie.actors = [
"Stephen Amell (Oliver Queen / Arrow)",
"Katie Cassidy (Laurel Lance)",
"Paul Blackthorne (Detective Quentin Lance)",
"David Ramsey (John Diggle)",
"Willa Holland (Thea Queen)",
"Emily Bett Rickards (Felicity Smoak)",
"John Barrowman (Malcolm Merlyn)"
];
serie.Persist().then(function(result) {
console.log("Serie persisted! ", result);
});
CRUD.Find(Serie, { name: 'Arrow' }).then(function(series) { // Find returns an array by default
console.log("Found results: ", series);
});
CRUD.FindOne(Serie, { name: 'Arrow' }).then(function(serie) { // FindOne does a limit 0,1
console.log("Found one result: ", serie);
});
CRUD.Find(Serie, ['name like "%Arr%"']).then(function(series) { // You can pass an array instead of mapped object to add custom sql
console.log("Found wildcard results: ", serie);
});
CRUD.FindOne(Serie, {name: 'Arrow'}).then(function(arrow) {
arrow.overview = [
"Oliver Queen and his father are lost at sea when their luxury yacht sinks.",
"His father doesn't survive. Oliver survives on an uncharted island for five years learning to fight,",
"but also learning about his father's corruption and unscrupulous business dealings.",
"He returns to civilization a changed man, determined to put things right.",
"He disguises himself with the hood of one of his mysterious island mentors,",
"arms himself with a bow and sets about hunting down the men and women who have corrupted his city."
].join(' ');
return arrow.Persist();
}).then(function(result) {
console.log("Arrow update persisted!", result);
})
CRUD.FindOne(Serie, {name: 'Arrow'}).then(function(arrow) {
return arrow.Delete();
}).then(function(result) {
console.log("Arrow deleted!");
});
CRUD.ExecuteQuery("DELETE FROM Series where 1");