Add search_filter table and entity

This commit is contained in:
Hongbo Wu 2022-11-30 20:38:30 +08:00
parent e5b0339036
commit 4d845ef413
3 changed files with 69 additions and 0 deletions

View file

@ -0,0 +1,37 @@
import {
Column,
CreateDateColumn,
Entity,
JoinColumn,
ManyToOne,
PrimaryGeneratedColumn,
Unique,
UpdateDateColumn,
} from 'typeorm'
import { User } from './user'
@Entity({ name: 'search_filter' })
@Unique('search_filter_unique_key', ['user', 'name'])
export class SearchFilter {
@PrimaryGeneratedColumn('uuid')
id!: string
@ManyToOne(() => User, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'user_id' })
user!: User
@Column('varchar', { length: 255 })
name!: string
@Column('varchar', { length: 255, nullable: true })
description?: string | null
@Column('varchar', { length: 255 })
filter!: string
@CreateDateColumn({ default: () => 'CURRENT_TIMESTAMP' })
createdAt!: Date
@UpdateDateColumn({ default: () => 'CURRENT_TIMESTAMP' })
updatedAt!: Date
}

View file

@ -0,0 +1,23 @@
-- Type: DO
-- Name: search_filters
-- Description: Create search_filters table
BEGIN;
CREATE TABLE omnivore.search_filters (
id uuid PRIMARY KEY DEFAULT uuid_generate_v1mc(),
user_id uuid NOT NULL REFERENCES omnivore.user ON DELETE CASCADE,
name character varying(255) NOT NULL,
description character varying(255),
filter character varying(255) NOT NULL,
created_at timestamptz NOT NULL DEFAULT current_timestamp,
updated_at timestamptz NOT NULL DEFAULT current_timestamp,
UNIQUE (user_id, name)
);
CREATE TRIGGER search_filters_modtime BEFORE UPDATE ON omnivore.search_filters
FOR EACH ROW EXECUTE PROCEDURE update_updated_at_column();
GRANT SELECT, INSERT, UPDATE, DELETE ON omnivore.search_filters TO omnivore_user;
COMMIT;

View file

@ -0,0 +1,9 @@
-- Type: UNDO
-- Name: search_filters
-- Description: Create search_filters table
BEGIN;
DROP TABLE IF EXISTS omnivore.search_filters;
COMMIT;