Merge branch 'stats64' into 'main'

Use char(64) for stats primary keys

See merge request soapbox-pub/ditto!504
This commit is contained in:
Alex Gleason 2024-09-20 15:37:35 +00:00
commit 80302b3915

View file

@ -0,0 +1,14 @@
import { Kysely, sql } from 'kysely';
export async function up(db: Kysely<any>): Promise<void> {
await db.deleteFrom('event_stats').where(sql<number>`length(event_id)`, '>', 64).execute();
await db.deleteFrom('author_stats').where(sql<number>`length(pubkey)`, '>', 64).execute();
await db.schema.alterTable('event_stats').alterColumn('event_id', (col) => col.setDataType('char(64)')).execute();
await db.schema.alterTable('author_stats').alterColumn('pubkey', (col) => col.setDataType('char(64)')).execute();
}
export async function down(db: Kysely<any>): Promise<void> {
await db.schema.alterTable('event_stats').alterColumn('event_id', (col) => col.setDataType('text')).execute();
await db.schema.alterTable('author_stats').alterColumn('pubkey', (col) => col.setDataType('text')).execute();
}