init push
This commit is contained in:
25
migrations/20260408_file_manager_attachments.sql
Normal file
25
migrations/20260408_file_manager_attachments.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE IF NOT EXISTS attachments (
|
||||
id BINARY(16) NOT NULL,
|
||||
file_id BINARY(16) NOT NULL,
|
||||
ref_type VARCHAR(64) NOT NULL,
|
||||
ref_id VARCHAR(191) NOT NULL,
|
||||
category VARCHAR(64) NULL,
|
||||
sort_order INT NOT NULL DEFAULT 0,
|
||||
is_primary TINYINT(1) NOT NULL DEFAULT 0,
|
||||
attached_by BINARY(16) NULL,
|
||||
created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
updated_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT fk_attachments_file
|
||||
FOREIGN KEY (file_id) REFERENCES file_files(id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE,
|
||||
UNIQUE KEY uq_attachments_ref_file (ref_type, ref_id, file_id),
|
||||
KEY idx_attachments_file_id (file_id),
|
||||
KEY idx_attachments_ref_sort (ref_type, ref_id, sort_order, created_at),
|
||||
KEY idx_attachments_ref_category (ref_type, ref_id, category)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- +goose Down
|
||||
DROP TABLE IF EXISTS attachments;
|
||||
Reference in New Issue
Block a user