Files

47 lines
1.9 KiB
SQL
Raw Permalink Normal View History

+17
2026-09-20 14:56:39 -05:00
CREATE TABLE `plugin_install_counts` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`plugin_id` text NOT NULL,
`registry_id` text NOT NULL,
`count` integer DEFAULT 0 NOT NULL,
`source` text DEFAULT 'aggregate-telemetry' NOT NULL,
`updated_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL
);
--> statement-breakpoint
CREATE UNIQUE INDEX `idx_plugin_install_counts_plugin_registry` ON `plugin_install_counts` (`plugin_id`,`registry_id`);--> statement-breakpoint
CREATE TABLE `plugin_permission_grants` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`plugin_id` text NOT NULL,
`capability` text NOT NULL,
`granted_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL,
`granted_by` text NOT NULL,
FOREIGN KEY (`plugin_id`) REFERENCES `plugins`(`id`) ON UPDATE no action ON DELETE cascade,
FOREIGN KEY (`granted_by`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE UNIQUE INDEX `idx_plugin_permission_grants_plugin_capability` ON `plugin_permission_grants` (`plugin_id`,`capability`);--> statement-breakpoint
CREATE TABLE `plugin_registries` (
`id` text PRIMARY KEY NOT NULL,
`name` text NOT NULL,
`url` text NOT NULL,
`kind` text DEFAULT 'community' NOT NULL,
`enabled` integer DEFAULT true NOT NULL,
`signing_key` text,
`last_checked_at` text,
`last_index_hash` text
);
--> statement-breakpoint
CREATE TABLE `plugins` (
`id` text PRIMARY KEY NOT NULL,
`name` text NOT NULL,
`version` text NOT NULL,
`tier` text DEFAULT 'available' NOT NULL,
`source` text DEFAULT 'community' NOT NULL,
`registry_id` text,
`state` text DEFAULT 'disabled' NOT NULL,
`installed_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL,
`updated_at` text DEFAULT CURRENT_TIMESTAMP NOT NULL,
`auto_update` integer DEFAULT false NOT NULL,
`manifest_json` text NOT NULL
);
--> statement-breakpoint
CREATE INDEX `idx_plugins_registry_id` ON `plugins` (`registry_id`);