我是初学者,我开始使用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); }); 但它不起作用
请帮忙。 坦克
答案 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;
}};