35 lines
1.1 KiB
SQL
35 lines
1.1 KiB
SQL
-- Drop merged_tiles table (no longer needed)
|
|
DROP TABLE IF EXISTS merged_tiles;
|
|
DROP INDEX IF EXISTS idx_merged_tiles_zoom_coords;
|
|
|
|
-- Drop old minimap_tiles table
|
|
DROP TABLE IF EXISTS minimap_tiles;
|
|
|
|
-- Create new minimap_tiles table with simplified structure
|
|
CREATE TABLE minimap_tiles (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
-- Tile coordinates (at zoom level 2, original tile coords)
|
|
x INTEGER NOT NULL,
|
|
y INTEGER NOT NULL,
|
|
-- Zoom level (0 = 4x4 merged, 1 = 2x2 merged, 2 = original)
|
|
zoom INTEGER NOT NULL,
|
|
-- Image dimensions (always 512x512 for merged tiles)
|
|
width INTEGER NOT NULL,
|
|
height INTEGER NOT NULL,
|
|
-- Original file size (only for zoom=2)
|
|
original_file_size INTEGER,
|
|
-- WebP image data (lossless)
|
|
image BLOB NOT NULL,
|
|
image_size INTEGER NOT NULL,
|
|
-- Metadata
|
|
processed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|
source_path TEXT NOT NULL,
|
|
|
|
-- Unique constraint on coordinates + zoom
|
|
UNIQUE(x, y, zoom)
|
|
);
|
|
|
|
-- Index for fast lookups
|
|
CREATE INDEX idx_minimap_tiles_zoom_coords ON minimap_tiles(zoom, x, y);
|
|
CREATE INDEX idx_minimap_tiles_coords ON minimap_tiles(x, y);
|