async buildAttribute(dbattr) {
        let attr = await Attribute.create(this,dbattr);
        if (attr instanceof Attribute) {
            this.attrs[attr.name] = attr;
            if (attr.isPrimaryKey())
                this.pk = attr;
            else if (attr.isCreatedAt())
                this.createdAt = attr;
            else if (attr.isModifiedAt())
                this.modifiedAt = attr;
            else if (attr.isForeingKey())
                this.fk.push(attr);
        }
        return attr;
    }
/**
     * Build Attribute object from column database info
     * @param {string} dbattr full database datatype
     * @returns 
     */
Build Attribute object from column database info
@param {string} dbattr full database datatype
@returns
Build Attribute object from column database info @param { string } dbattr full database datatype @returns
async buildAttribute(dbattr) {
        let attr = await Attribute.create(this,dbattr);
        if (attr instanceof Attribute) {
            this.attrs[attr.name] = attr;
            if (attr.isPrimaryKey())
                this.pk = attr;
            else if (attr.isCreatedAt())
                this.createdAt = attr;
            else if (attr.isModifiedAt())
                this.modifiedAt = attr;
            else if (attr.isForeingKey())
                this.fk.push(attr);
        }
        return attr;
    }
async buildAttribute ( dbattr ) { let attr = await Attribute . create ( this , dbattr ) ; if ( attr instanceof Attribute ) { this . attrs [ attr . name ] = attr ; if ( attr . isPrimaryKey ( ) ) this . pk = attr ; else if ( attr . isCreatedAt ( ) ) this . createdAt = attr ; else if ( attr . isModifiedAt ( ) ) this . modifiedAt = attr ; else if ( attr . isForeingKey ( ) ) this . fk . push ( attr ) ; } return attr ; }
Build Attribute object from column database info
 @param {string} dbattr full database datatype
 @returns
Build Attribute object from column database info @param { string } dbattr full database datatype @returns