39 lines
929 B
SQL
39 lines
929 B
SQL
-- Initial database schema for Owly News Summariser
|
|
|
|
-- News table to store articles
|
|
CREATE TABLE IF NOT EXISTS news
|
|
(
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
title TEXT NOT NULL,
|
|
summary TEXT,
|
|
url TEXT NOT NULL,
|
|
published TIMESTAMP NOT NULL,
|
|
country TEXT NOT NULL,
|
|
created_at INTEGER DEFAULT (strftime('%s', 'now'))
|
|
);
|
|
|
|
-- Index for faster queries on published date
|
|
CREATE INDEX IF NOT EXISTS idx_news_published ON news (published);
|
|
|
|
-- Feeds table to store RSS feed sources
|
|
CREATE TABLE IF NOT EXISTS feeds
|
|
(
|
|
id INTEGER PRIMARY KEY,
|
|
country TEXT,
|
|
url TEXT UNIQUE NOT NULL
|
|
);
|
|
|
|
-- Settings table for application configuration
|
|
CREATE TABLE IF NOT EXISTS settings
|
|
(
|
|
key TEXT PRIMARY KEY,
|
|
val TEXT NOT NULL
|
|
);
|
|
|
|
-- Meta table for application metadata
|
|
CREATE TABLE IF NOT EXISTS meta
|
|
(
|
|
key TEXT PRIMARY KEY,
|
|
val TEXT NOT NULL
|
|
);
|