Schedule posts to Bluesky with Cloudflare workers.
skyscheduler.work
cf
tool
bsky-tool
cloudflare
bluesky
schedule
bsky
service
social-media
cloudflare-workers
1ALTER TABLE `users` RENAME COLUMN "bsky_pds" TO "pds";--> statement-breakpoint
2PRAGMA foreign_keys=OFF;--> statement-breakpoint
3CREATE TABLE `__new_accounts` (
4 `id` text PRIMARY KEY NOT NULL,
5 `account_id` text NOT NULL,
6 `provider_id` text NOT NULL,
7 `user_id` text NOT NULL,
8 `access_token` text,
9 `refresh_token` text,
10 `id_token` text,
11 `access_token_expires_at` integer,
12 `refresh_token_expires_at` integer,
13 `scope` text,
14 `password` text,
15 `created_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL,
16 `updated_at` integer NOT NULL,
17 FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
18);
19--> statement-breakpoint
20INSERT INTO `__new_accounts`("id", "account_id", "provider_id", "user_id", "access_token", "refresh_token", "id_token", "access_token_expires_at", "refresh_token_expires_at", "scope", "password", "created_at", "updated_at") SELECT "id", "account_id", "provider_id", "user_id", "access_token", "refresh_token", "id_token", "access_token_expires_at", "refresh_token_expires_at", "scope", "password", "created_at", "updated_at" FROM `accounts`;--> statement-breakpoint
21DROP TABLE `accounts`;--> statement-breakpoint
22ALTER TABLE `__new_accounts` RENAME TO `accounts`;--> statement-breakpoint
23PRAGMA foreign_keys=ON;--> statement-breakpoint
24CREATE INDEX `accounts_userId_idx` ON `accounts` (`user_id`);--> statement-breakpoint
25CREATE TABLE `__new_sessions` (
26 `id` text PRIMARY KEY NOT NULL,
27 `expires_at` integer NOT NULL,
28 `token` text NOT NULL,
29 `created_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL,
30 `updated_at` integer NOT NULL,
31 `ip_address` text,
32 `user_agent` text,
33 `user_id` text NOT NULL,
34 FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
35);
36--> statement-breakpoint
37INSERT INTO `__new_sessions`("id", "expires_at", "token", "created_at", "updated_at", "ip_address", "user_agent", "user_id") SELECT "id", "expires_at", "token", "created_at", "updated_at", "ip_address", "user_agent", "user_id" FROM `sessions`;--> statement-breakpoint
38DROP TABLE `sessions`;--> statement-breakpoint
39ALTER TABLE `__new_sessions` RENAME TO `sessions`;--> statement-breakpoint
40CREATE UNIQUE INDEX `sessions_token_unique` ON `sessions` (`token`);--> statement-breakpoint
41CREATE INDEX `sessions_userId_idx` ON `sessions` (`user_id`);--> statement-breakpoint
42CREATE TABLE `__new_verifications` (
43 `id` text PRIMARY KEY NOT NULL,
44 `identifier` text NOT NULL,
45 `value` text NOT NULL,
46 `expires_at` integer NOT NULL,
47 `created_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL,
48 `updated_at` integer DEFAULT (cast(unixepoch('subsecond') * 1000 as integer)) NOT NULL
49);
50--> statement-breakpoint
51INSERT INTO `__new_verifications`("id", "identifier", "value", "expires_at", "created_at", "updated_at") SELECT "id", "identifier", "value", "expires_at", "created_at", "updated_at" FROM `verifications`;--> statement-breakpoint
52DROP TABLE `verifications`;--> statement-breakpoint
53ALTER TABLE `__new_verifications` RENAME TO `verifications`;--> statement-breakpoint
54CREATE INDEX `verifications_identifier_idx` ON `verifications` (`identifier`);