pgSuite.changeIndexFields() — drizzle-orm Function Reference
Architecture documentation for the pgSuite.changeIndexFields() function in pg.test.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 7ea85bc3_85db_d146_3188_4bc3604c274e["pgSuite.changeIndexFields()"] 0408ab8f_6d6f_cdae_29f3_25c8efadbfae["pg.test.ts"] 7ea85bc3_85db_d146_3188_4bc3604c274e -->|defined in| 0408ab8f_6d6f_cdae_29f3_25c8efadbfae style 7ea85bc3_85db_d146_3188_4bc3604c274e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
drizzle-kit/tests/push/pg.test.ts lines 569–634
async changeIndexFields() {
const client = new PGlite();
const schema1 = {
users: pgTable(
'users',
{
id: serial('id').primaryKey(),
name: text('name'),
},
(t) => ({
removeColumn: index('removeColumn').on(t.name, t.id),
addColumn: index('addColumn').on(t.name.desc()).with({ fillfactor: 70 }),
removeExpression: index('removeExpression')
.on(t.name.desc(), sql`name`)
.concurrently(),
addExpression: index('addExpression').on(t.id.desc()),
changeExpression: index('changeExpression').on(t.id.desc(), sql`name`),
changeName: index('changeName').on(t.name.desc(), t.id.asc().nullsLast()).with({ fillfactor: 70 }),
changeWith: index('changeWith').on(t.name).with({ fillfactor: 70 }),
changeUsing: index('changeUsing').on(t.name),
}),
),
};
const schema2 = {
users: pgTable(
'users',
{
id: serial('id').primaryKey(),
name: text('name'),
},
(t) => ({
removeColumn: index('removeColumn').on(t.name),
addColumn: index('addColumn').on(t.name.desc(), t.id.nullsLast()).with({ fillfactor: 70 }),
removeExpression: index('removeExpression').on(t.name.desc()).concurrently(),
addExpression: index('addExpression').on(t.id.desc()),
changeExpression: index('changeExpression').on(t.id.desc(), sql`name desc`),
changeName: index('newName')
.on(t.name.desc(), sql`name`)
.with({ fillfactor: 70 }),
changeWith: index('changeWith').on(t.name).with({ fillfactor: 90 }),
changeUsing: index('changeUsing').using('hash', t.name),
}),
),
};
const { statements, sqlStatements } = await diffTestSchemasPush(client, schema1, schema2, [], false, ['public']);
expect(sqlStatements).toStrictEqual([
'DROP INDEX "changeName";',
'DROP INDEX "addColumn";',
'DROP INDEX "changeExpression";',
'DROP INDEX "changeUsing";',
'DROP INDEX "changeWith";',
'DROP INDEX "removeColumn";',
'DROP INDEX "removeExpression";',
'CREATE INDEX "newName" ON "users" USING btree ("name" DESC NULLS LAST,name) WITH (fillfactor=70);',
'CREATE INDEX "addColumn" ON "users" USING btree ("name" DESC NULLS LAST,"id") WITH (fillfactor=70);',
'CREATE INDEX "changeExpression" ON "users" USING btree ("id" DESC NULLS LAST,name desc);',
'CREATE INDEX "changeUsing" ON "users" USING hash ("name");',
'CREATE INDEX "changeWith" ON "users" USING btree ("name") WITH (fillfactor=90);',
'CREATE INDEX "removeColumn" ON "users" USING btree ("name");',
'CREATE INDEX CONCURRENTLY "removeExpression" ON "users" USING btree ("name" DESC NULLS LAST);',
]);
},
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does pgSuite.changeIndexFields() do?
pgSuite.changeIndexFields() is a function in the drizzle-orm codebase, defined in drizzle-kit/tests/push/pg.test.ts.
Where is pgSuite.changeIndexFields() defined?
pgSuite.changeIndexFields() is defined in drizzle-kit/tests/push/pg.test.ts at line 569.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free