mirror of
https://github.com/WiIIiam278/HuskSync.git
synced 2025-12-25 09:39:18 +00:00
* Better maps syncing (#2) * Do not create new views for maps from current world * Fix maps in shulkers not converting * Add bundle support for map conversion * Rework map sync * Fix empty statements in database * Fix missing imports * Rename connectMapIds -> bindMapIds * Use data adapter to save maps * Split Mongo readMapData * Split MySQL readMapData * Split Postgres readMapData * Update database schemas Use server names instead of world UUIDs * Update Database class * Update MongoDbDatabase class * Update MySqlDatabase class * Update PostgresDatabase class * Update BukkitMapPersister class Use server names instead of world UUIDs * Remove unused code * Add my nickname to contributors :) * Start implementing Redis map caching * Continue implementing Redis map caching * Bind map ids on Redis before writing to DB * Finish implementing Redis map data caching * refactor: decouple new map logic Redis caching from DB * test: enable debug logging in test suite * docs: update docs with new username method * feat: adjust a method name --------- Co-authored-by: Sóla Lusøt <60041069+solaluset@users.noreply.github.com>
43 lines
1.4 KiB
SQL
43 lines
1.4 KiB
SQL
-- Create the users table if it does not exist
|
|
CREATE TABLE IF NOT EXISTS "%users_table%"
|
|
(
|
|
uuid uuid NOT NULL UNIQUE,
|
|
username varchar(16) NOT NULL,
|
|
|
|
PRIMARY KEY (uuid)
|
|
);
|
|
|
|
-- Create the user data table if it does not exist
|
|
CREATE TABLE IF NOT EXISTS "%user_data_table%"
|
|
(
|
|
version_uuid uuid NOT NULL UNIQUE,
|
|
player_uuid uuid NOT NULL,
|
|
timestamp timestamp NOT NULL,
|
|
save_cause varchar(32) NOT NULL,
|
|
pinned boolean NOT NULL DEFAULT FALSE,
|
|
data bytea NOT NULL,
|
|
|
|
PRIMARY KEY (version_uuid, player_uuid),
|
|
FOREIGN KEY (player_uuid) REFERENCES "%users_table%" (uuid) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Create the map data table if it does not exist
|
|
CREATE TABLE IF NOT EXISTS "%map_data_table%"
|
|
(
|
|
server_name varchar(32) NOT NULL,
|
|
map_id int NOT NULL,
|
|
data bytea NOT NULL,
|
|
PRIMARY KEY (server_name, map_id)
|
|
);
|
|
|
|
-- Create the map ids table if it does not exist
|
|
CREATE TABLE IF NOT EXISTS "%map_ids_table%"
|
|
(
|
|
from_server_name varchar(32) NOT NULL,
|
|
from_id int NOT NULL,
|
|
to_server_name varchar(32) NOT NULL,
|
|
to_id int NOT NULL,
|
|
PRIMARY KEY (from_server_name, from_id, to_server_name),
|
|
FOREIGN KEY (from_server_name, from_id) REFERENCES "%map_data_table%" (server_name, map_id) ON DELETE CASCADE
|
|
);
|