CREATE TABLE IF NOT EXISTS vehicle_daily_geography ( vin VARCHAR(32) COLLATE utf8mb4_unicode_ci NOT NULL, stat_date DATE NOT NULL, longitude DECIMAL(12,6) NULL, latitude DECIMAL(12,6) NULL, location_time DATETIME(3) NULL, source_protocol VARCHAR(32) NOT NULL DEFAULT '', province VARCHAR(64) NOT NULL DEFAULT '', city VARCHAR(64) NOT NULL DEFAULT '', region VARCHAR(16) NOT NULL DEFAULT '', adcode VARCHAR(16) NOT NULL DEFAULT '', status VARCHAR(24) NOT NULL DEFAULT 'PENDING', attempts INT NOT NULL DEFAULT 0, last_error VARCHAR(255) NOT NULL DEFAULT '', next_attempt_at DATETIME(3) NULL, resolved_at DATETIME(3) NULL, updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), PRIMARY KEY (vin, stat_date), KEY idx_daily_geography_pending (status, next_attempt_at, stat_date) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS vehicle_geography_cache ( longitude DECIMAL(12,6) NOT NULL, latitude DECIMAL(12,6) NOT NULL, province VARCHAR(64) NOT NULL, city VARCHAR(64) NOT NULL, region VARCHAR(16) NOT NULL, adcode VARCHAR(16) NOT NULL DEFAULT '', resolved_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), PRIMARY KEY (longitude, latitude) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;