Schedule posts to Bluesky with Cloudflare workers. skyscheduler.work
cf tool bsky-tool cloudflare bluesky schedule bsky service social-media cloudflare-workers
at main 54 lines 3.2 kB view raw
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`);