feat: Add SQLite database integration for aircraft history and callsign enhancement
- Implement comprehensive database package with versioned migrations - Add skyview-data CLI tool for managing aviation reference data - Integrate database with merger for real-time aircraft history persistence - Support OurAirports and OpenFlights data sources (runtime loading) - Add systemd timer for automated database updates - Fix transaction-based bulk loading for 2400% performance improvement - Add callsign enhancement system with airline/airport lookups - Update Debian packaging with database directory and permissions Database features: - Aircraft position history with configurable retention - External aviation data loading (airlines, airports) - Callsign parsing and enhancement - API client for external lookups (OpenSky, etc.) - Privacy mode for complete offline operation CLI commands: - skyview-data status: Show database statistics - skyview-data update: Load aviation reference data - skyview-data list: Show available data sources - skyview-data clear: Remove specific data sources 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
cd51d3ecc0
commit
37c4fa2b57
25 changed files with 4771 additions and 12 deletions
181
debian/usr/share/man/man1/skyview-data.1
vendored
Normal file
181
debian/usr/share/man/man1/skyview-data.1
vendored
Normal file
|
|
@ -0,0 +1,181 @@
|
|||
.TH skyview-data 1 "January 2025" "SkyView Database Manager"
|
||||
.SH NAME
|
||||
skyview-data \- SkyView aviation database management utility
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B skyview-data
|
||||
[\fIOPTIONS\fR] \fICOMMAND\fR [\fIARGS\fR...]
|
||||
|
||||
.SH DESCRIPTION
|
||||
.B skyview-data
|
||||
manages the SkyView aviation database, allowing users to import airline and airport data from various external sources while maintaining license compliance.
|
||||
|
||||
The tool automatically creates and migrates the database schema, downloads data from public and licensed sources, and provides status monitoring for the aviation database used by SkyView for callsign enhancement.
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BR \-db " \fIPATH\fR"
|
||||
Database file path (auto-detected if empty)
|
||||
.TP
|
||||
.BR \-v ", " \-\-verbose
|
||||
Verbose output
|
||||
.TP
|
||||
.BR \-\-force
|
||||
Force operation without prompts
|
||||
.TP
|
||||
.BR \-\-version
|
||||
Show version information
|
||||
|
||||
.SH COMMANDS
|
||||
.TP
|
||||
.B init
|
||||
Initialize empty database with schema
|
||||
.TP
|
||||
.B list
|
||||
List available data sources with license information
|
||||
.TP
|
||||
.B status
|
||||
Show current database status and statistics
|
||||
.TP
|
||||
.B update [\fISOURCE\fR...]
|
||||
Update data from specified sources, or all safe sources if none specified
|
||||
.TP
|
||||
.B import \fISOURCE\fR
|
||||
Import data from a specific source with license acceptance
|
||||
.TP
|
||||
.B clear \fISOURCE\fR
|
||||
Remove all data from the specified source
|
||||
.TP
|
||||
.B reset
|
||||
Clear all data and reset database (destructive)
|
||||
|
||||
.SH DATA SOURCES
|
||||
.SS Safe Sources (Public Domain)
|
||||
These sources are automatically included in
|
||||
.B update
|
||||
operations:
|
||||
.TP
|
||||
.B ourairports
|
||||
Public domain airport database from OurAirports.com
|
||||
.TP
|
||||
.B faa-registry
|
||||
US aircraft registration database (FAA, public domain)
|
||||
|
||||
.SS License-Required Sources
|
||||
These sources require explicit license acceptance:
|
||||
.TP
|
||||
.B openflights
|
||||
Comprehensive airline and airport database (AGPL-3.0 license)
|
||||
|
||||
.SH EXAMPLES
|
||||
.TP
|
||||
Initialize database and import safe data:
|
||||
.EX
|
||||
skyview-data init
|
||||
skyview-data update
|
||||
.EE
|
||||
.TP
|
||||
Import OpenFlights data with license acceptance:
|
||||
.EX
|
||||
skyview-data import openflights
|
||||
.EE
|
||||
.TP
|
||||
Check database status:
|
||||
.EX
|
||||
skyview-data status
|
||||
.EE
|
||||
.TP
|
||||
Set up automatic updates via systemd timer:
|
||||
.EX
|
||||
systemctl enable skyview-database-update.timer
|
||||
systemctl start skyview-database-update.timer
|
||||
.EE
|
||||
|
||||
.SH CRON AUTOMATION
|
||||
For automated updates,
|
||||
.B skyview-data update
|
||||
is designed to work seamlessly with cron:
|
||||
|
||||
.EX
|
||||
# Update weekly on Sunday at 3 AM
|
||||
0 3 * * 0 /usr/bin/skyview-data update
|
||||
.EE
|
||||
|
||||
The command automatically:
|
||||
.RS
|
||||
.IP \(bu 2
|
||||
Creates the database if it doesn't exist
|
||||
.IP \(bu 2
|
||||
Updates only safe (public domain) sources
|
||||
.IP \(bu 2
|
||||
Provides proper exit codes for monitoring
|
||||
.IP \(bu 2
|
||||
Logs to standard output with timestamps
|
||||
.RE
|
||||
|
||||
.SH SYSTEMD INTEGRATION
|
||||
The Debian package includes systemd timer integration:
|
||||
|
||||
.EX
|
||||
# Enable automatic weekly updates
|
||||
systemctl enable skyview-database-update.timer
|
||||
systemctl start skyview-database-update.timer
|
||||
|
||||
# Check timer status
|
||||
systemctl status skyview-database-update.timer
|
||||
|
||||
# View update logs
|
||||
journalctl -u skyview-database-update.service
|
||||
.EE
|
||||
|
||||
.SH FILES
|
||||
.TP
|
||||
.I /var/lib/skyview/skyview.db
|
||||
System-wide database location
|
||||
.TP
|
||||
.I ~/.local/share/skyview/skyview.db
|
||||
User-specific database location
|
||||
.TP
|
||||
.I /var/log/skyview/
|
||||
Log directory for database operations
|
||||
|
||||
.SH EXIT STATUS
|
||||
.TP
|
||||
.B 0
|
||||
Success
|
||||
.TP
|
||||
.B 1
|
||||
General error or command failure
|
||||
.TP
|
||||
.B 2
|
||||
Invalid arguments or usage
|
||||
|
||||
.SH SECURITY
|
||||
All external data downloads use HTTPS. No sensitive information is transmitted. The tool processes only publicly available aviation data.
|
||||
|
||||
License-required sources require explicit user acceptance before import.
|
||||
|
||||
.SH LICENSE COMPLIANCE
|
||||
.B skyview-data
|
||||
maintains strict license separation:
|
||||
.RS
|
||||
.IP \(bu 2
|
||||
SkyView binary contains no external data (MIT license maintained)
|
||||
.IP \(bu 2
|
||||
Each data source tracks its license and user acceptance
|
||||
.IP \(bu 2
|
||||
Users choose which sources to import based on license compatibility
|
||||
.IP \(bu 2
|
||||
Automatic updates only include public domain sources
|
||||
.RE
|
||||
|
||||
.SH SEE ALSO
|
||||
.BR skyview (1),
|
||||
.BR systemctl (1),
|
||||
.BR crontab (5)
|
||||
|
||||
.SH AUTHOR
|
||||
SkyView is developed as an open-source ADS-B aircraft tracking system.
|
||||
|
||||
.SH REPORTING BUGS
|
||||
Report bugs and issues at the project repository.
|
||||
Loading…
Add table
Add a link
Reference in a new issue