49 lines
1.9 KiB
SQL
49 lines
1.9 KiB
SQL
CREATE TABLE docker_mirrors (
|
|
repo_id INTEGER NOT NULL,
|
|
image TEXT NOT NULL DEFAULT '',
|
|
remote_url TEXT NOT NULL DEFAULT '',
|
|
tags TEXT NOT NULL DEFAULT '',
|
|
username TEXT NOT NULL DEFAULT '',
|
|
password TEXT NOT NULL DEFAULT '',
|
|
sync_interval_sec INTEGER NOT NULL DEFAULT 300,
|
|
sync_enabled INTEGER NOT NULL DEFAULT 1,
|
|
dirty INTEGER NOT NULL DEFAULT 1,
|
|
next_sync_at INTEGER NOT NULL DEFAULT 0,
|
|
sync_running INTEGER NOT NULL DEFAULT 0,
|
|
sync_status TEXT NOT NULL DEFAULT 'idle',
|
|
sync_error TEXT NOT NULL DEFAULT '',
|
|
sync_step TEXT NOT NULL DEFAULT '',
|
|
sync_total INTEGER NOT NULL DEFAULT 0,
|
|
sync_done INTEGER NOT NULL DEFAULT 0,
|
|
sync_failed INTEGER NOT NULL DEFAULT 0,
|
|
last_sync_started_at INTEGER NOT NULL DEFAULT 0,
|
|
last_sync_finished_at INTEGER NOT NULL DEFAULT 0,
|
|
last_sync_success_at INTEGER NOT NULL DEFAULT 0,
|
|
last_synced_revision TEXT NOT NULL DEFAULT '',
|
|
created_at INTEGER NOT NULL,
|
|
updated_at INTEGER NOT NULL,
|
|
PRIMARY KEY (repo_id, image),
|
|
FOREIGN KEY (repo_id) REFERENCES repos(id) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE docker_mirror_runs (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
public_id TEXT NOT NULL UNIQUE,
|
|
repo_id INTEGER NOT NULL,
|
|
image TEXT NOT NULL,
|
|
started_at INTEGER NOT NULL,
|
|
finished_at INTEGER NOT NULL DEFAULT 0,
|
|
status TEXT NOT NULL DEFAULT 'running',
|
|
step TEXT NOT NULL DEFAULT '',
|
|
total INTEGER NOT NULL DEFAULT 0,
|
|
done INTEGER NOT NULL DEFAULT 0,
|
|
failed INTEGER NOT NULL DEFAULT 0,
|
|
revision TEXT NOT NULL DEFAULT '',
|
|
error TEXT NOT NULL DEFAULT '',
|
|
FOREIGN KEY(repo_id, image) REFERENCES docker_mirrors(repo_id, image) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE INDEX idx_docker_mirrors_due ON docker_mirrors(sync_enabled, sync_running, next_sync_at, dirty, updated_at);
|
|
CREATE INDEX idx_docker_mirror_runs_repo_image_started ON docker_mirror_runs(repo_id, image, started_at DESC);
|
|
CREATE INDEX idx_docker_mirror_runs_status ON docker_mirror_runs(status);
|