From 59d56fc33393f35286ad8ccd55f69266ef45b711 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Sat, 2 Jun 2018 14:04:34 -0400 Subject: [PATCH] Remove clothing form the database --- eos/db/gamedata/group.py | 4 ++-- eos/db/gamedata/item.py | 4 ++-- scripts/jsonToSql.py | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/eos/db/gamedata/group.py b/eos/db/gamedata/group.py index 53a8723bd..a9a66a8ef 100644 --- a/eos/db/gamedata/group.py +++ b/eos/db/gamedata/group.py @@ -18,7 +18,7 @@ # =============================================================================== from sqlalchemy import Column, String, Integer, Boolean, ForeignKey, Table -from sqlalchemy.orm import relation, mapper, synonym, deferred +from sqlalchemy.orm import relation, mapper, synonym, deferred, backref from eos.db import gamedata_meta from eos.gamedata import Category, Group @@ -33,7 +33,7 @@ groups_table = Table("invgroups", gamedata_meta, mapper(Group, groups_table, properties={ - "category" : relation(Category, backref="groups"), + "category" : relation(Category, backref=backref("groups", cascade="all,delete")), "ID" : synonym("groupID"), "name" : synonym("groupName"), "description": deferred(groups_table.c.description) diff --git a/eos/db/gamedata/item.py b/eos/db/gamedata/item.py index f8fc7a04b..04f46c7e1 100644 --- a/eos/db/gamedata/item.py +++ b/eos/db/gamedata/item.py @@ -19,7 +19,7 @@ from sqlalchemy import Column, String, Integer, Boolean, ForeignKey, Table, Float from sqlalchemy.ext.associationproxy import association_proxy -from sqlalchemy.orm import relation, mapper, synonym, deferred +from sqlalchemy.orm import relation, mapper, synonym, deferred, backref from sqlalchemy.orm.collections import attribute_mapped_collection from eos.db.gamedata.effect import typeeffects_table @@ -45,7 +45,7 @@ from .traits import traits_table # noqa mapper(Item, items_table, properties={ - "group" : relation(Group, backref="items"), + "group" : relation(Group, backref=backref("items", cascade="all,delete")), "_Item__attributes": relation(Attribute, cascade='all, delete, delete-orphan', collection_class=attribute_mapped_collection('name')), "effects": relation(Effect, secondary=typeeffects_table, collection_class=attribute_mapped_collection('name')), "metaGroup" : relation(MetaType, diff --git a/scripts/jsonToSql.py b/scripts/jsonToSql.py index 0555f5424..2953bfbbb 100755 --- a/scripts/jsonToSql.py +++ b/scripts/jsonToSql.py @@ -30,6 +30,10 @@ sys.path.append(os.path.realpath(os.path.join(path, ".."))) import json import argparse +CATEGORIES_TO_REMOVE = [ + 30 # Apparel +] + def main(db, json_path): if os.path.isfile(db): os.remove(db) @@ -276,6 +280,16 @@ def main(db, json_path): eos.db.gamedata_engine.execute("UPDATE dgmtypeattribs SET value = 4.0 WHERE attributeID = ?", (1367,)) eos.db.gamedata_engine.execute("UPDATE invtypes SET published = 0 WHERE typeName LIKE '%abyssal%'") + + print() + for x in CATEGORIES_TO_REMOVE: + cat = eos.db.gamedata_session.query(eos.gamedata.Category).filter(eos.gamedata.Category.ID == x).first() + print ("Removing Category: {}".format(cat.name)) + eos.db.gamedata_session.delete(cat) + + eos.db.gamedata_session.commit() + eos.db.gamedata_engine.execute("VACUUM") + print("done") if __name__ == "__main__":