0

我是初学者,我开始使用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); }); 但它不工作

请帮忙。坦克

4

1 回答 1

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;
}};
于 2013-04-19T08:30:22.117 回答