diff --git a/database/migrations/003_unique_posts.ts b/database/migrations/003_unique_posts.ts new file mode 100644 index 0000000..533a19c --- /dev/null +++ b/database/migrations/003_unique_posts.ts @@ -0,0 +1,19 @@ +import { Kysely } from "@kysely/kysely" + +const up = async (db: Kysely) => { + await db.schema + .createIndex("idx_at_proto_uri") + .on("posts") + .column("at_proto_uri") + .unique() + .execute() +} + +const down = async (db: Kysely) => { + await db.schema + .dropIndex("idx_at_proto_uri") + .on("posts") + .execute() +} + +export default { up, down } diff --git a/database/migrator.ts b/database/migrator.ts index 08ca815..174ee13 100644 --- a/database/migrator.ts +++ b/database/migrator.ts @@ -1,10 +1,12 @@ import { type Migration, type MigrationProvider } from "@kysely/kysely" import migration1 from "./migrations/001_initial.ts" import migration2 from "./migrations/002_refresh_token.ts" +import migration3 from "./migrations/003_unique_posts.ts" const migrations = { "001_initial": migration1, "002_refresh_token": migration2, + "003_unique_posts": migration3, } satisfies Record export const migrationProvider = {