-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsupabase_tables.sql
More file actions
46 lines (39 loc) · 1.62 KB
/
supabase_tables.sql
File metadata and controls
46 lines (39 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
-- Create learning_entries table
CREATE TABLE IF NOT EXISTS learning_entries (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
user_id TEXT NOT NULL,
title TEXT NOT NULL,
description TEXT,
category TEXT DEFAULT 'learning',
transaction_id TEXT UNIQUE NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Create user_badges table
CREATE TABLE IF NOT EXISTS user_badges (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
user_id TEXT NOT NULL,
title TEXT NOT NULL,
description TEXT,
rarity TEXT DEFAULT 'common',
token_id TEXT,
transaction_id TEXT UNIQUE NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Create indexes for better performance
CREATE INDEX IF NOT EXISTS idx_learning_entries_user_id ON learning_entries(user_id);
CREATE INDEX IF NOT EXISTS idx_learning_entries_created_at ON learning_entries(created_at);
CREATE INDEX IF NOT EXISTS idx_user_badges_user_id ON user_badges(user_id);
CREATE INDEX IF NOT EXISTS idx_user_badges_created_at ON user_badges(created_at);
-- Enable Row Level Security (RLS)
ALTER TABLE learning_entries ENABLE ROW LEVEL SECURITY;
ALTER TABLE user_badges ENABLE ROW LEVEL SECURITY;
-- Create policies for learning_entries
CREATE POLICY "Users can view their own learning entries" ON learning_entries
FOR SELECT USING (true);
CREATE POLICY "Users can insert their own learning entries" ON learning_entries
FOR INSERT WITH CHECK (true);
-- Create policies for user_badges
CREATE POLICY "Users can view their own badges" ON user_badges
FOR SELECT USING (true);
CREATE POLICY "Users can insert their own badges" ON user_badges
FOR INSERT WITH CHECK (true);