34 lines
1.1 KiB
SQL
34 lines
1.1 KiB
SQL
-- Create devlog_entries table
|
|
CREATE TABLE devlog_entries (
|
|
id SERIAL PRIMARY KEY,
|
|
date TEXT NOT NULL,
|
|
title TEXT NOT NULL,
|
|
description TEXT,
|
|
slug TEXT UNIQUE NOT NULL,
|
|
image TEXT,
|
|
content JSONB DEFAULT '[]'::jsonb,
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
|
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
|
);
|
|
|
|
-- Enable Row Level Security
|
|
ALTER TABLE devlog_entries ENABLE ROW LEVEL SECURITY;
|
|
|
|
-- Create policies for public read access
|
|
CREATE POLICY "Allow public read access" ON devlog_entries
|
|
FOR SELECT USING (true);
|
|
|
|
-- Create policies for authenticated users to insert/update
|
|
CREATE POLICY "Allow authenticated insert" ON devlog_entries
|
|
FOR INSERT WITH CHECK (true);
|
|
|
|
CREATE POLICY "Allow authenticated update" ON devlog_entries
|
|
FOR UPDATE USING (true);
|
|
|
|
CREATE POLICY "Allow authenticated delete" ON devlog_entries
|
|
FOR DELETE USING (true);
|
|
|
|
-- Grant permissions to anon and authenticated roles
|
|
GRANT SELECT ON devlog_entries TO anon;
|
|
GRANT ALL PRIVILEGES ON devlog_entries TO authenticated;
|
|
GRANT USAGE, SELECT ON SEQUENCE devlog_entries_id_seq TO authenticated; |