← back to Sdcc Awards
cypressaward/scraper/create-tables.sql
101 lines
-- Create tables for scraped data with deduplication support
-- Cases table
CREATE TABLE IF NOT EXISTS scraped_cases (
id SERIAL PRIMARY KEY,
hash VARCHAR(32) UNIQUE NOT NULL,
title TEXT,
court TEXT,
date_filed TIMESTAMP,
docket_number TEXT,
summary TEXT,
url TEXT,
source TEXT,
data_type VARCHAR(50),
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
-- Awards table
CREATE TABLE IF NOT EXISTS scraped_awards (
id SERIAL PRIMARY KEY,
hash VARCHAR(32) UNIQUE NOT NULL,
title TEXT,
recipient TEXT,
organization TEXT,
date_awarded TIMESTAMP,
category TEXT,
description TEXT,
url TEXT,
source TEXT,
data_type VARCHAR(50),
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
-- Law firms table
CREATE TABLE IF NOT EXISTS scraped_law_firms (
id SERIAL PRIMARY KEY,
hash VARCHAR(32) UNIQUE NOT NULL,
name TEXT,
ranking TEXT,
location TEXT,
size TEXT,
practice_areas TEXT,
revenue TEXT,
website TEXT,
source TEXT,
data_type VARCHAR(50),
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
-- Non-profits table
CREATE TABLE IF NOT EXISTS scraped_nonprofits (
id SERIAL PRIMARY KEY,
hash VARCHAR(32) UNIQUE NOT NULL,
name TEXT,
category TEXT,
location TEXT,
mission TEXT,
rating TEXT,
website TEXT,
source TEXT,
data_type VARCHAR(50),
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
-- News table
CREATE TABLE IF NOT EXISTS scraped_news (
id SERIAL PRIMARY KEY,
hash VARCHAR(32) UNIQUE NOT NULL,
title TEXT,
description TEXT,
url TEXT,
published_date TIMESTAMP,
author TEXT,
category TEXT,
source TEXT,
data_type VARCHAR(50),
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
-- Scraping logs table
CREATE TABLE IF NOT EXISTS scraping_logs (
id SERIAL PRIMARY KEY,
timestamp TIMESTAMP DEFAULT NOW(),
results JSONB,
error TEXT,
status VARCHAR(50)
);
-- Create indexes for better performance
CREATE INDEX idx_cases_hash ON scraped_cases(hash);
CREATE INDEX idx_awards_hash ON scraped_awards(hash);
CREATE INDEX idx_firms_hash ON scraped_law_firms(hash);
CREATE INDEX idx_nonprofits_hash ON scraped_nonprofits(hash);
CREATE INDEX idx_news_hash ON scraped_news(hash);
CREATE INDEX idx_news_published ON scraped_news(published_date DESC);
CREATE INDEX idx_logs_timestamp ON scraping_logs(timestamp DESC);