我们如何为我们的shema“compound / jugglingdb”添加约束

时间:2013-03-14 09:58:14

标签: compoundjs

我是初学者,我开始使用compoudjs,我使用jungglingdb作为数据库和模块jungglung-postgres。   我的问题是,我如何为创建的表添加约束?   我试试这个       var User = describe('User',function(){                 property('firstname',String);                 property('lastname',String);                 property('password',String,{limit:50);                 property('email',String {unique:true});                 property('approved',Boolean);                 set('restPath',pathTo.users);                 });  但它不起作用

请帮忙。 坦克

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案:

文件nodes_modules / jugglingdb-postgres / lib / prostgres.js中的

通过添加约束来将“datatype(p)”函数更改为此,例如:

    function datatype(p) {
 var q='';
if(p.unique!= undefined && p.unique)
{     q=' unique ';
 console.log(typeof(p.unique));
//
}
if(p.primaryKey!=undefined &&p.primaryKey)
{
    q=' primary key ';
}
if(p.notNull!=undefined &&p.notNull)
{
    q=' not null ';
}
if(p.check!=undefined )
{   //il faut definire manualement la condition de verification 
    q=' check('+p.check+') ';
    console.log(typeof(p.check));
}
if(p.constraintline!= undefined)
    q= ' '+p.constraintline;
if(p.constraint!= undefined)
    q= ' ,constraint '+p.constraint;
switch (p.type.name) {
    default:
    case 'String':
    case 'JSON':
    return 'varchar'+q;
    case 'Text':
    return 'text' +q;
    case 'Number':
    return 'integer' + q;
    case 'Date':
    return 'timestamp' + q;
    case 'Boolean':
    return 'boolean' + q;
}};