-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdb.js
45 lines (38 loc) · 1.04 KB
/
db.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var Schema = require('jugglingdb').Schema;
var schema = new Schema('sqlite3', { database: 'db/db.sql' });
var Lista = schema.define('Lista', {
nombre: String,
descripcion: String,
creacion: { type: Date, default: function() { return new Date;} }
}, {
path: '/listas/' + this.id
});
var Tarea = schema.define('Tarea', {
nombre: String,
descripcion: String,
creacion: { type: Date, default: function() { return new Date;} },
finalizacion: Date,
finalizada: String
}, {
resPath: '/listas/' + 'listaId' + '/tareas'
});
Lista.hasMany(Tarea);
Tarea.belongsTo(Lista);
Tarea.beforeUpdate = function(next, data){
if (data.finalizada == '1')
data.finalizacion = new Date;
else
data.finalizacion = null;
console.log(data);
next();
}
// Esta línea BORRA TODA LA BASE DE DATOS y la recrea
// schema.automigrate();
schema.isActual(function(err, actual) {
if (!actual) {
schema.autoupdate(function(){
console.log('Base de datos actualizada a la última versión');
});
}
});
module.exports.models = schema.models;