logingest/supabase/migrations/20250614163641_peaceful_mou...

56 lines
1.7 KiB
SQL

/*
# Create logs table for microservice
1. New Tables
- `logs`
- `id` (bigint, primary key) - Epoch time identifier
- `body` (text) - First 200 characters of log message
- `project` (text) - Project name, defaults to "Project 1"
- `type` (text) - Log type, defaults to "Info"
- `date` (date) - Date of the log entry
- `avatar_src` (text) - Avatar source URL, defaults to "/rectangle-15.png"
- `owner` (text) - Owner of the log entry, defaults to "N/A"
- `description` (text) - Full log message
- `created_at` (timestamptz) - Timestamp when record was created
- `status` (text) - Status of the log entry, defaults to "Pending"
2. Security
- Enable RLS on `logs` table
- Add policy for authenticated users to insert and read logs
*/
CREATE TABLE IF NOT EXISTS logs (
id bigint PRIMARY KEY,
body text NOT NULL,
project text NOT NULL DEFAULT 'Project 1',
type text NOT NULL DEFAULT 'Info',
date date NOT NULL,
avatar_src text NOT NULL DEFAULT '/rectangle-15.png',
owner text NOT NULL DEFAULT 'N/A',
description text NOT NULL,
created_at timestamptz NOT NULL DEFAULT now(),
status text NOT NULL DEFAULT 'Pending'
);
ALTER TABLE logs ENABLE ROW LEVEL SECURITY;
-- Policy to allow authenticated users to insert logs
CREATE POLICY "Allow authenticated users to insert logs"
ON logs
FOR INSERT
TO authenticated
WITH CHECK (true);
-- Policy to allow authenticated users to read logs
CREATE POLICY "Allow authenticated users to read logs"
ON logs
FOR SELECT
TO authenticated
USING (true);
-- Policy to allow service role to perform all operations
CREATE POLICY "Allow service role full access"
ON logs
FOR ALL
TO service_role
USING (true);