Add D1 migration baseline

This commit is contained in:
2026-05-08 17:05:29 -04:00
parent edced5f5c0
commit 0ff5585b96
10 changed files with 383 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
CREATE TABLE IF NOT EXISTS plugin_registry (
plugin_id TEXT PRIMARY KEY,
name TEXT NOT NULL,
author TEXT NOT NULL,
permissions_json TEXT NOT NULL,
signature_state TEXT NOT NULL CHECK (signature_state IN ('valid', 'revoked')),
min_ely_build TEXT NOT NULL,
package_r2_key TEXT NOT NULL,
package_sha256 TEXT NOT NULL,
created_at INTEGER NOT NULL,
updated_at INTEGER NOT NULL,
revoked_at INTEGER
);
CREATE INDEX IF NOT EXISTS idx_plugin_registry_signature
ON plugin_registry (signature_state, updated_at);
CREATE TABLE IF NOT EXISTS plugin_packages (
plugin_id TEXT NOT NULL,
package_version TEXT NOT NULL,
r2_key TEXT NOT NULL,
sha256 TEXT NOT NULL,
signature_key_id TEXT NOT NULL,
signature_value TEXT NOT NULL,
size_bytes INTEGER NOT NULL CHECK (size_bytes > 0),
published_at INTEGER NOT NULL,
revoked_at INTEGER,
PRIMARY KEY (plugin_id, package_version),
FOREIGN KEY (plugin_id) REFERENCES plugin_registry (plugin_id)
);
CREATE INDEX IF NOT EXISTS idx_plugin_packages_active
ON plugin_packages (plugin_id, revoked_at, published_at);
CREATE TABLE IF NOT EXISTS plugin_reviews (
review_id TEXT PRIMARY KEY,
plugin_id TEXT NOT NULL,
reviewer_user_id TEXT NOT NULL,
review_status TEXT NOT NULL CHECK (review_status IN ('pending', 'approved', 'rejected')),
notes_hash TEXT,
created_at INTEGER NOT NULL,
decided_at INTEGER,
FOREIGN KEY (plugin_id) REFERENCES plugin_registry (plugin_id)
);