150 lines
4.5 KiB
SQL
150 lines
4.5 KiB
SQL
-- OpenNGC catalog cache (refreshed weekly)
|
|
CREATE TABLE IF NOT EXISTS catalog (
|
|
id TEXT PRIMARY KEY,
|
|
name TEXT NOT NULL,
|
|
common_name TEXT,
|
|
obj_type TEXT NOT NULL,
|
|
ra_deg REAL NOT NULL,
|
|
dec_deg REAL NOT NULL,
|
|
ra_h TEXT NOT NULL,
|
|
dec_dms TEXT NOT NULL,
|
|
constellation TEXT,
|
|
size_arcmin_maj REAL,
|
|
size_arcmin_min REAL,
|
|
pos_angle_deg REAL,
|
|
mag_v REAL,
|
|
surface_brightness REAL,
|
|
hubble_type TEXT,
|
|
messier_num INTEGER,
|
|
is_highlight BOOLEAN DEFAULT FALSE,
|
|
fov_fill_pct REAL,
|
|
mosaic_flag BOOLEAN DEFAULT FALSE,
|
|
mosaic_panels_w INTEGER DEFAULT 1,
|
|
mosaic_panels_h INTEGER DEFAULT 1,
|
|
difficulty INTEGER,
|
|
guide_star_density TEXT,
|
|
fetched_at INTEGER NOT NULL
|
|
);
|
|
|
|
-- Nightly precomputed visibility (refreshed each evening at sunset)
|
|
CREATE TABLE IF NOT EXISTS nightly_cache (
|
|
catalog_id TEXT NOT NULL,
|
|
night_date TEXT NOT NULL,
|
|
max_alt_deg REAL,
|
|
transit_utc TEXT,
|
|
rise_utc TEXT,
|
|
set_utc TEXT,
|
|
best_start_utc TEXT,
|
|
best_end_utc TEXT,
|
|
usable_min INTEGER,
|
|
meridian_flip_utc TEXT,
|
|
airmass_at_transit REAL,
|
|
extinction_mag REAL,
|
|
moon_sep_deg REAL,
|
|
recommended_filter TEXT,
|
|
visibility_json TEXT,
|
|
PRIMARY KEY (catalog_id, night_date)
|
|
);
|
|
|
|
-- Tonight summary (single row, refreshed at sunset)
|
|
CREATE TABLE IF NOT EXISTS tonight (
|
|
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
date TEXT NOT NULL,
|
|
astro_dusk_utc TEXT NOT NULL,
|
|
astro_dawn_utc TEXT NOT NULL,
|
|
moon_rise_utc TEXT,
|
|
moon_set_utc TEXT,
|
|
moon_illumination REAL,
|
|
moon_phase_name TEXT,
|
|
moon_ra_deg REAL,
|
|
moon_dec_deg REAL,
|
|
true_dark_start_utc TEXT,
|
|
true_dark_end_utc TEXT,
|
|
true_dark_minutes INTEGER,
|
|
computed_at INTEGER
|
|
);
|
|
|
|
-- Custom horizon profile
|
|
CREATE TABLE IF NOT EXISTS horizon (
|
|
az_deg INTEGER PRIMARY KEY,
|
|
alt_deg REAL NOT NULL DEFAULT 15.0
|
|
);
|
|
|
|
-- Imaging log
|
|
CREATE TABLE IF NOT EXISTS imaging_log (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
catalog_id TEXT NOT NULL,
|
|
session_date TEXT NOT NULL,
|
|
filter_id TEXT NOT NULL,
|
|
integration_min INTEGER NOT NULL,
|
|
quality TEXT NOT NULL DEFAULT 'pending',
|
|
notes TEXT,
|
|
guiding_rms REAL,
|
|
mean_temp_c REAL,
|
|
phd2_log_id INTEGER,
|
|
created_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
);
|
|
|
|
-- Target gallery images
|
|
CREATE TABLE IF NOT EXISTS gallery (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
catalog_id TEXT NOT NULL,
|
|
log_id INTEGER,
|
|
filename TEXT NOT NULL,
|
|
caption TEXT,
|
|
created_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
);
|
|
|
|
-- PHD2 guiding log analysis results
|
|
CREATE TABLE IF NOT EXISTS phd2_logs (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
session_date TEXT NOT NULL,
|
|
filename TEXT NOT NULL,
|
|
rms_total REAL,
|
|
rms_ra REAL,
|
|
rms_dec REAL,
|
|
peak_error REAL,
|
|
star_lost_count INTEGER,
|
|
duration_min INTEGER,
|
|
guide_star_snr REAL,
|
|
created_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
);
|
|
|
|
-- Weather cache
|
|
CREATE TABLE IF NOT EXISTS weather_cache (
|
|
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
seventimer_json TEXT,
|
|
openmeteo_json TEXT,
|
|
dew_point_c REAL,
|
|
temp_c REAL,
|
|
humidity_pct REAL,
|
|
go_nogo TEXT,
|
|
fetched_at INTEGER
|
|
);
|
|
|
|
-- App settings
|
|
CREATE TABLE IF NOT EXISTS settings (
|
|
key TEXT PRIMARY KEY,
|
|
value TEXT NOT NULL
|
|
);
|
|
|
|
-- Per-target planning notes (separate from session log notes)
|
|
CREATE TABLE IF NOT EXISTS target_notes (
|
|
catalog_id TEXT PRIMARY KEY,
|
|
notes TEXT NOT NULL DEFAULT '',
|
|
updated_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
);
|
|
|
|
-- Custom user-defined targets (manual coordinates, TLE satellites, custom objects)
|
|
CREATE TABLE IF NOT EXISTS custom_targets (
|
|
id TEXT PRIMARY KEY, -- user-chosen, e.g. "MyNebula", "ISS"
|
|
name TEXT NOT NULL,
|
|
obj_type TEXT NOT NULL DEFAULT 'custom', -- custom, satellite, comet
|
|
ra_deg REAL, -- NULL for TLE objects (computed live)
|
|
dec_deg REAL,
|
|
tle_line1 TEXT, -- for satellites
|
|
tle_line2 TEXT,
|
|
notes TEXT,
|
|
created_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
);
|