sequelize-views-support
Version:
Adds VIEWS support to Sequelize.
37 lines (29 loc) • 737 B
JavaScript
import { Model } from 'sequelize';
class ModelViewsSupport extends Model {
/** @inheritdoc */
static drop(options) {
const method = this.options.treatAsView ? 'dropView' : 'dropTable';
return this.QueryInterface[method](
this.getTableName(options), options
);
}
/** @inheritdoc */
static sync(options) {
if (this.options.treatAsView) return Promise.resolve();
return super.sync(options);
}
/**
* Sync view.
*/
static syncView(options) {
return this.QueryInterface.createView(
this.getTableName(options),
this.getViewDefinition(),
options
);
}
static getViewDefinition() {
return this.options.viewDefinition;
}
}
export default ModelViewsSupport;