Fix bad interior cell data in db
I had a bad unique index on the `cells` table. This commit does not fix it but has two backfill scripts that will allow me to fixup the data before creating the new unique index. `is_base_game` identifies cells that are from the `Skyrim.esm` shipped with the game (and not from some mod that happens to also have a `Skyrim.esm` with a 0,0 cell with a different form id, see: https://github.com/thallada/modmapper-web/issues/8). `dump_cell_data` now only dumps cells from `is_base_game` cells. `deduplicate_interior_cells` removes duplicate cell and plugin_cell rows caused by the buggy index. I will need to upgrade the database and create a new index in a later commit.
This commit is contained in:
@@ -15,7 +15,7 @@ use crate::models::{plugin_cell, plugin_cell::UnsavedPluginCell};
|
||||
use crate::models::{plugin_world, plugin_world::UnsavedPluginWorld};
|
||||
use crate::models::{world, world::UnsavedWorld};
|
||||
|
||||
fn get_local_form_id_and_master<'a>(
|
||||
pub fn get_local_form_id_and_master<'a>(
|
||||
form_id: u32,
|
||||
masters: &'a [&str],
|
||||
file_name: &'a str,
|
||||
@@ -124,6 +124,7 @@ pub async fn process_plugin(
|
||||
y: cell.y,
|
||||
world_id,
|
||||
is_persistent: cell.is_persistent,
|
||||
is_base_game: false,
|
||||
}
|
||||
})
|
||||
.collect();
|
||||
|
||||
Reference in New Issue
Block a user