init
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
CREATE TABLE files (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
organization_id UUID NOT NULL,
|
||||
user_id UUID NOT NULL,
|
||||
file_name VARCHAR(255) NOT NULL,
|
||||
original_name VARCHAR(255) NOT NULL,
|
||||
file_url VARCHAR(500) NOT NULL,
|
||||
file_size BIGINT NOT NULL,
|
||||
mime_type VARCHAR(100) NOT NULL,
|
||||
file_type VARCHAR(50) NOT NULL,
|
||||
upload_path VARCHAR(500) NOT NULL,
|
||||
is_public BOOLEAN DEFAULT TRUE,
|
||||
metadata JSONB,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Create indexes for better performance
|
||||
CREATE INDEX idx_files_organization_id ON files(organization_id);
|
||||
CREATE INDEX idx_files_user_id ON files(user_id);
|
||||
CREATE INDEX idx_files_file_type ON files(file_type);
|
||||
CREATE INDEX idx_files_created_at ON files(created_at);
|
||||
|
||||
-- Add foreign key constraints
|
||||
ALTER TABLE files ADD CONSTRAINT fk_files_organization_id
|
||||
FOREIGN KEY (organization_id) REFERENCES organizations(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE files ADD CONSTRAINT fk_files_user_id
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;
|
||||
Reference in New Issue
Block a user