| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- -- 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,
- last_updated_at DATETIME,
- 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);
|