-- Create missing tables CREATE TABLE task_lists ( id VARCHAR(36) PRIMARY KEY, user_id VARCHAR(36) NOT NULL, name VARCHAR(200) NOT NULL, icon VARCHAR(10) DEFAULT 'list', color VARCHAR(7) DEFAULT '#667eea', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ); CREATE TABLE tasks ( id VARCHAR(36) PRIMARY KEY, list_id VARCHAR(36) NOT NULL, user_id VARCHAR(36) NOT NULL, title VARCHAR(500) NOT NULL, description TEXT, completed BOOLEAN DEFAULT FALSE NOT NULL, priority VARCHAR(20) DEFAULT 'medium', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, FOREIGN KEY (list_id) REFERENCES task_lists(id) ON DELETE CASCADE, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ); -- Create indexes CREATE INDEX idx_task_lists_user_id ON task_lists(user_id); CREATE INDEX idx_tasks_list_id ON tasks(list_id); CREATE INDEX idx_tasks_user_id ON tasks(user_id); CREATE INDEX idx_tasks_completed ON tasks(completed); -- Grant permissions to tasko_user GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO tasko_user; GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO tasko_user; -- Show tables \dt