You've already forked AstralRinth
forked from didirus/AstralRinth
Migrate to SQLite for Internal Launcher Data (#1300)
* initial migration * barebones profiles * Finish profiles * Add back file watcher * UI support progress * Finish most of cache * Fix options page * Fix forge, finish modrinth auth * Accounts, process cache * Run SQLX prepare * Finish * Run lint + actions * Fix version to be compat with windows * fix lint * actually fix lint * actually fix lint again
This commit is contained in:
158
packages/app-lib/migrations/20240711194701_init.sql
Normal file
158
packages/app-lib/migrations/20240711194701_init.sql
Normal file
@@ -0,0 +1,158 @@
|
||||
CREATE TABLE settings (
|
||||
id INTEGER NOT NULL CHECK (id = 0),
|
||||
|
||||
max_concurrent_downloads INTEGER NOT NULL DEFAULT 10,
|
||||
max_concurrent_writes INTEGER NOT NULL DEFAULT 10,
|
||||
|
||||
theme TEXT NOT NULL DEFAULT 'dark',
|
||||
default_page TEXT NOT NULL DEFAULT 'home',
|
||||
collapsed_navigation INTEGER NOT NULL DEFAULT TRUE,
|
||||
advanced_rendering INTEGER NOT NULL DEFAULT TRUE,
|
||||
native_decorations INTEGER NOT NULL DEFAULT FALSE,
|
||||
|
||||
telemetry INTEGER NOT NULL DEFAULT TRUE,
|
||||
discord_rpc INTEGER NOT NULL DEFAULT TRUE,
|
||||
developer_mode INTEGER NOT NULL DEFAULT FALSE,
|
||||
|
||||
onboarded INTEGER NOT NULL DEFAULT FALSE,
|
||||
|
||||
-- array of strings
|
||||
extra_launch_args JSONB NOT NULL,
|
||||
-- array of (string, string)
|
||||
custom_env_vars JSONB NOT NULL,
|
||||
mc_memory_max INTEGER NOT NULL DEFAULT 2048,
|
||||
mc_force_fullscreen INTEGER NOT NULL DEFAULT FALSE,
|
||||
mc_game_resolution_x INTEGER NOT NULL DEFAULT 854,
|
||||
mc_game_resolution_y INTEGER NOT NULL DEFAULT 480,
|
||||
|
||||
hide_on_process_start INTEGER NOT NULL DEFAULT FALSE,
|
||||
|
||||
hook_pre_launch TEXT NULL,
|
||||
hook_wrapper TEXT NULL,
|
||||
hook_post_exit TEXT NULL,
|
||||
|
||||
custom_dir TEXT NULL,
|
||||
prev_custom_dir TEXT NULL,
|
||||
migrated INTEGER NOT NULL DEFAULT FALSE,
|
||||
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
INSERT INTO settings (id, extra_launch_args, custom_env_vars) VALUES (0, jsonb_array(), jsonb_array());
|
||||
|
||||
CREATE TABLE java_versions (
|
||||
major_version INTEGER NOT NULL,
|
||||
full_version TEXT NOT NULL,
|
||||
architecture TEXT NOT NULL,
|
||||
path TEXT NOT NULL,
|
||||
|
||||
PRIMARY KEY (major_version)
|
||||
);
|
||||
|
||||
CREATE TABLE minecraft_users (
|
||||
uuid TEXT NOT NULL,
|
||||
active INTEGER NOT NULL DEFAULT FALSE,
|
||||
username TEXT NOT NULL,
|
||||
access_token TEXT NOT NULL,
|
||||
refresh_token TEXT NOT NULL,
|
||||
expires INTEGER NOT NULL,
|
||||
|
||||
PRIMARY KEY (uuid)
|
||||
);
|
||||
CREATE UNIQUE INDEX minecraft_users_active ON minecraft_users(active);
|
||||
|
||||
CREATE TABLE minecraft_device_tokens (
|
||||
id INTEGER NOT NULL CHECK (id = 0),
|
||||
|
||||
uuid TEXT NOT NULL,
|
||||
private_key TEXT NOT NULL,
|
||||
x TEXT NOT NULL,
|
||||
y TEXT NOT NULL,
|
||||
issue_instant INTEGER NOT NULL,
|
||||
not_after INTEGER NOT NULL,
|
||||
token TEXT NOT NULL,
|
||||
display_claims JSONB NOT NULL,
|
||||
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
CREATE TABLE modrinth_users (
|
||||
id TEXT NOT NULL,
|
||||
active INTEGER NOT NULL DEFAULT FALSE,
|
||||
session_id TEXT NOT NULL,
|
||||
expires INTEGER NOT NULL,
|
||||
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
CREATE UNIQUE INDEX modrinth_users_active ON modrinth_users(active);
|
||||
|
||||
CREATE TABLE cache (
|
||||
id TEXT NOT NULL,
|
||||
data_type TEXT NOT NULL,
|
||||
alias TEXT NULL,
|
||||
|
||||
data JSONB NULL,
|
||||
expires INTEGER NOT NULL,
|
||||
|
||||
UNIQUE (data_type, alias),
|
||||
PRIMARY KEY (id, data_type)
|
||||
);
|
||||
|
||||
CREATE TABLE profiles (
|
||||
path TEXT NOT NULL,
|
||||
install_stage TEXT NOT NULL,
|
||||
|
||||
name TEXT NOT NULL,
|
||||
icon_path TEXT NULL,
|
||||
|
||||
game_version TEXT NOT NULL,
|
||||
mod_loader TEXT NOT NULL,
|
||||
mod_loader_version TEXT NULL,
|
||||
|
||||
-- array of strings
|
||||
groups JSONB NOT NULL,
|
||||
|
||||
linked_project_id TEXT NULL,
|
||||
linked_version_id TEXT NULL,
|
||||
locked INTEGER NULL,
|
||||
|
||||
created INTEGER NOT NULL,
|
||||
modified INTEGER NOT NULL,
|
||||
last_played INTEGER NULL,
|
||||
|
||||
submitted_time_played INTEGER NOT NULL DEFAULT 0,
|
||||
recent_time_played INTEGER NOT NULL DEFAULT 0,
|
||||
|
||||
override_java_path TEXT NULL,
|
||||
|
||||
-- array of strings
|
||||
override_extra_launch_args JSONB NOT NULL,
|
||||
-- array of (string, string)
|
||||
override_custom_env_vars JSONB NOT NULL,
|
||||
|
||||
override_mc_memory_max INTEGER NULL,
|
||||
override_mc_force_fullscreen INTEGER NULL,
|
||||
override_mc_game_resolution_x INTEGER NULL,
|
||||
override_mc_game_resolution_y INTEGER NULL,
|
||||
|
||||
override_hook_pre_launch TEXT NULL,
|
||||
override_hook_wrapper TEXT NULL,
|
||||
override_hook_post_exit TEXT NULL,
|
||||
|
||||
|
||||
PRIMARY KEY (path)
|
||||
);
|
||||
|
||||
CREATE TABLE processes (
|
||||
pid INTEGER NOT NULL,
|
||||
start_time INTEGER NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
executable TEXT NOT NULL,
|
||||
profile_path TEXT NOT NULL,
|
||||
post_exit_command TEXT NULL,
|
||||
|
||||
UNIQUE (pid),
|
||||
PRIMARY KEY (pid),
|
||||
FOREIGN KEY (profile_path) REFERENCES profiles(path)
|
||||
);
|
||||
CREATE INDEX processes_profile_path ON processes(profile_path);
|
||||
Reference in New Issue
Block a user