| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- -- Users table
- CREATE TABLE IF NOT EXISTS users (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- username TEXT NOT NULL UNIQUE,
- password_hash TEXT NOT NULL,
- created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
- );
- -- Zones table
- CREATE TABLE IF NOT EXISTS zones (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- zone_id TEXT NOT NULL UNIQUE,
- name TEXT NOT NULL,
- api_key TEXT NOT NULL,
- created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
- );
- -- Records table
- CREATE TABLE IF NOT EXISTS records (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- zone_id INTEGER NOT NULL REFERENCES zones(id) ON DELETE CASCADE,
- cf_record_id TEXT NOT NULL,
- name TEXT NOT NULL,
- type TEXT NOT NULL DEFAULT 'A',
- content TEXT NOT NULL,
- proxied INTEGER NOT NULL DEFAULT 0,
- is_static INTEGER NOT NULL DEFAULT 0,
- created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
- );
- CREATE UNIQUE INDEX IF NOT EXISTS idx_records_zone_cf ON records(zone_id, cf_record_id);
- -- Settings table
- CREATE TABLE IF NOT EXISTS settings (
- key TEXT PRIMARY KEY,
- value TEXT NOT NULL
- );
- INSERT OR IGNORE INTO settings (key, value) VALUES ('cron_schedule', '@every 1m');
- -- IP providers table
- CREATE TABLE IF NOT EXISTS ip_providers (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- url TEXT NOT NULL UNIQUE,
- name TEXT NOT NULL DEFAULT '',
- enabled INTEGER NOT NULL DEFAULT 1,
- priority INTEGER NOT NULL DEFAULT 0,
- created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
- );
- INSERT OR IGNORE INTO ip_providers (url, name, enabled, priority) VALUES
- ('https://api.ipify.org', 'ipify', 1, 0),
- ('https://ifconfig.me/ip', 'ifconfig.me', 1, 1),
- ('https://icanhazip.com', 'icanhazip', 1, 2);
|