2013-03-14 2 views
0

Я начинаю, я начинаю использовать compoudjs, и я использую jungglingdb для базы данных и модуля jungglung-postgres. мой вопрос в том, как я могу добавить ограничение на созданные таблицы? Я попробовал это var User = describe ('User', function() { Свойство ('firstname', String); свойство ('lastname', String); свойство ('password', String, {limit: 50); property ('email', String {unique: true}); property ('approved', Boolean); set ('restPath', pathTo.users); }); но не работаеткак мы можем добавить ограничение ti our shema «compoudjs/jungglingdb»

, пожалуйста, помогите. танки

ответ

0

хорошо я нашел решение, которое:

в файле nodes_modules/jugglingdb-Postgres/Библиотека/prostgres.js изменить тип данных «(р)» функцию путем добавления ограничений, например:

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; 
}};