sequelize-typescript
sequelize-typescript copied to clipboard
How to define a materialized view in sequelize-typescript?
Issue
How to define a materialized view in sequelize-typescript?
Versions
- sequelize: 6.6.2
- sequelize-typescript: 2.1.0
- typescript: 4.1.3
Issue type
- [ ] bug report
- [x] feature request
Related code
Take the model definition below. It gets converted into a table by default. How do I turn this into a materialized view instead?
/* eslint import/no-cycle: "off" */
import {
Model,
PrimaryKey,
Column,
Table,
Min,
AllowNull,
AutoIncrement,
BelongsTo,
} from 'sequelize-typescript';
import { FeedItem } from 'data/models';
@Table({
freezeTableName: true,
})
export default class FeedItemLikesDislikesAggregate extends Model {
@PrimaryKey
@AutoIncrement
@Column
feedItemLikesDislikesAggregateId: number;
@AllowNull(false)
@Min(0)
@Column
dislikes: number;
@AllowNull(false)
@Min(0)
@Column
likes: number;
@BelongsTo(() => FeedItem, {
foreignKey: { name: 'feedItemId', allowNull: false },
as: 'feedItemId_',
})
feedItemId: FeedItem;
}