prorm API Reference
    Preparing search index...

    Interface ModelSchemaOperations

    Schema operations available on every model.

    Each mirrors the QueryInterface method of the same name with the table argument removed.

    interface ModelSchemaOperations {
        addColumn(
            columnName: string,
            definition: TableColumnDefinition,
            options?: QueryInterfaceOptions,
        ): Promise<void>;
        removeColumn(
            columnName: string,
            options?: QueryInterfaceOptions,
        ): Promise<void>;
        changeColumn(
            columnName: string,
            definition: TableColumnDefinition,
            options?: QueryInterfaceOptions,
        ): Promise<void>;
        renameColumn(
            oldColumnName: string,
            newColumnName: string,
            options?: QueryInterfaceOptions,
        ): Promise<void>;
        addIndex(
            fieldsOrName: string | string[] | IndexFieldDefinition[],
            fieldsOrOptions?:
                | string[]
                | IndexFieldDefinition[]
                | IndexOptions & QueryInterfaceOptions,
            options?: IndexOptions & QueryInterfaceOptions,
        ): Promise<void>;
        removeIndex(
            indexName: string,
            options?: QueryInterfaceOptions,
        ): Promise<void>;
        showIndexes(): Promise<
            { name: string; fields: string[]; unique: boolean }[],
        >;
        indexExists(indexName: string): Promise<boolean>;
        createFullTextIndex(
            options: Omit<FullTextIndexOptions, "table"> & { table?: string },
        ): Promise<void>;
        addConstraint(
            constraintNameOrOptions:
                | string
                | ConstraintDefinition & { name?: string },
            constraintOrOptions?: ConstraintDefinition,
            options?: QueryInterfaceOptions,
        ): Promise<void>;
        removeConstraint(
            constraintName: string,
            typeOrOptions?: string | QueryInterfaceOptions,
        ): Promise<void>;
        getConstraints(): Promise<any[]>;
        getForeignKeys(): Promise<any[]>;
        tableExists(): Promise<boolean>;
        renameTable(
            newName: string,
            options?: QueryInterfaceOptions,
        ): Promise<void>;
        enableRowLevelSecurity(): Promise<void>;
        disableRowLevelSecurity(): Promise<void>;
        createPolicy(
            options: Omit<CreatePolicyOptions, "table"> & { table?: string },
        ): Promise<void>;
        dropPolicy(name: string, options?: { ifExists?: boolean }): Promise<void>;
        createTrigger(
            trigger: Omit<TriggerDefinition<Record<string, unknown>>, "table"> & {
                table?: string;
            },
        ): Promise<void>;
        dropTrigger(name: string, options?: { ifExists?: boolean }): Promise<void>;
        createPartition(
            options: Omit<CreatePartitionOptions, "parentTable"> & {
                parentTable?: string;
            },
        ): Promise<void>;
        attachPartition(
            options: Omit<AttachPartitionOptions, "parentTable"> & {
                parentTable?: string;
            },
        ): Promise<void>;
        detachPartition(options: DetachPartitionOptions): Promise<void>;
        dropPartition(
            partitionName: string,
            options?: { ifExists?: boolean; cascade?: boolean } & QueryInterfaceOptions,
        ): Promise<void>;
        describeTable(): Promise<TableDescription>;
    }

    Hierarchy (View Summary)

    Index
    • List this model's indexes.

      Returns Promise<{ name: string; fields: string[]; unique: boolean }[]>

    • Whether an index exists on this model's table.

      Parameters

      • indexName: string

      Returns Promise<boolean>

    • List this model's constraints.

      Returns Promise<any[]>

    • List the foreign keys on this model's table.

      Returns Promise<any[]>

    • Whether this model's table exists in the database.

      Returns Promise<boolean>

    • Turn row-level security on for this model's table.

      Returns Promise<void>

    • Turn row-level security off.

      Returns Promise<void>

    • Create a policy on this model's table; table defaults to this model.

      Parameters

      Returns Promise<void>

    • Drop a policy from this model's table.

      Parameters

      • name: string
      • Optionaloptions: { ifExists?: boolean }

      Returns Promise<void>

    • Create a trigger on this model's table; table defaults to this model.

      Parameters

      • trigger: Omit<TriggerDefinition<Record<string, unknown>>, "table"> & { table?: string }

      Returns Promise<void>

    • Drop a trigger from this model's table.

      Parameters

      • name: string
      • Optionaloptions: { ifExists?: boolean }

      Returns Promise<void>

    • Create a partition of this model's table; parentTable defaults to it.

      Parameters

      Returns Promise<void>

    • Attach an existing table as a partition of this model's table.

      Parameters

      Returns Promise<void>

    • Drop a partition of this model's table.

      Parameters

      • partitionName: string
      • Optionaloptions: { ifExists?: boolean; cascade?: boolean } & QueryInterfaceOptions

      Returns Promise<void>