Add D1 migration baseline
This commit is contained in:
@@ -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)
|
||||
);
|
||||
Reference in New Issue
Block a user