db-meta
Version:
Relational database metadata extraction library
43 lines (32 loc) • 995 B
JavaScript
module.exports = Column;
var util = require('util');
var dbmUtil = require('../util');
var BaseColumn = require('../column');
function Column(props) {
this.meta = dbmUtil.lowercaseKeys(props);
}
util.inherits(Column, BaseColumn);
Column.prototype.getName = function () {
return this.meta.column_name;
};
Column.prototype.isNullable = function () {
return this.meta.is_nullable === 'YES';
};
Column.prototype.getMaxLength = function () {
return this.meta.character_maximum_length;
};
Column.prototype.getDataType = function() {
return this.meta.data_type.toUpperCase();
};
Column.prototype.isPrimaryKey = function () {
return this.meta.column_key === 'PRI';
};
Column.prototype.getDefaultValue = function () {
return this.meta.column_default;
};
Column.prototype.isUnique = function () {
return (this.meta.column_key === 'UNI') || (this.meta.column_key === 'PRI');
};
Column.prototype.isAutoIncrementing = function () {
return this.meta.extra === 'auto_increment';
};