diff --git a/packages/nocodb/src/meta/migrations/v2/nc_041_view_column_index.ts b/packages/nocodb/src/meta/migrations/v2/nc_041_view_column_index.ts new file mode 100644 index 0000000000..0668f77279 --- /dev/null +++ b/packages/nocodb/src/meta/migrations/v2/nc_041_view_column_index.ts @@ -0,0 +1,35 @@ +import type { Knex } from 'knex'; +import { MetaTable } from '~/utils/globals'; + +const up = async (knex: Knex) => { + await knex.schema.alterTable(MetaTable.GRID_VIEW_COLUMNS, (table) => { + table.index(['fk_model_id', 'fk_column_id']); + }); + await knex.schema.alterTable(MetaTable.GALLERY_VIEW_COLUMNS, (table) => { + table.index(['fk_model_id', 'fk_column_id']); + }); + await knex.schema.alterTable(MetaTable.KANBAN_VIEW_COLUMNS, (table) => { + table.index(['fk_model_id', 'fk_column_id']); + }); + await knex.schema.alterTable(MetaTable.FORM_VIEW_COLUMNS, (table) => { + table.index(['fk_model_id', 'fk_column_id']); + }); +}; + +const down = async (knex: Knex) => { + + await knex.schema.alterTable(MetaTable.GRID_VIEW_COLUMNS, (table) => { + table.dropIndex(['fk_model_id', 'fk_column_id']); + }); + await knex.schema.alterTable(MetaTable.GALLERY_VIEW_COLUMNS, (table) => { + table.dropIndex(['fk_model_id', 'fk_column_id']); + }); + await knex.schema.alterTable(MetaTable.KANBAN_VIEW_COLUMNS, (table) => { + table.dropIndex(['fk_model_id', 'fk_column_id']); + }); + await knex.schema.alterTable(MetaTable.FORM_VIEW_COLUMNS, (table) => { + table.dropIndex(['fk_model_id', 'fk_column_id']); + }); +}; + +export { up, down };