You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1.1 KiB
26 lines
1.1 KiB
CREATE TABLE `media_assets` (
|
|
`id` integer PRIMARY KEY NOT NULL,
|
|
`user_id` integer NOT NULL,
|
|
`storage_key` text NOT NULL,
|
|
`mime` text NOT NULL,
|
|
`size_bytes` integer NOT NULL,
|
|
`sha256` text,
|
|
`variants_json` text,
|
|
`status` text DEFAULT 'ready' NOT NULL,
|
|
`first_referenced_at` integer,
|
|
`dereferenced_at` integer,
|
|
`created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
|
|
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `media_assets_storage_key_unique` ON `media_assets` (`storage_key`);--> statement-breakpoint
|
|
CREATE INDEX `media_assets_user_id_idx` ON `media_assets` (`user_id`);--> statement-breakpoint
|
|
CREATE TABLE `post_media_refs` (
|
|
`post_id` integer NOT NULL,
|
|
`asset_id` integer NOT NULL,
|
|
PRIMARY KEY(`post_id`, `asset_id`),
|
|
FOREIGN KEY (`post_id`) REFERENCES `posts`(`id`) ON UPDATE no action ON DELETE cascade,
|
|
FOREIGN KEY (`asset_id`) REFERENCES `media_assets`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE INDEX `post_media_refs_asset_id_idx` ON `post_media_refs` (`asset_id`);
|