Remove clothing form the database

This commit is contained in:
blitzmann
2018-06-02 14:04:34 -04:00
parent 926299c20e
commit 59d56fc333
3 changed files with 18 additions and 4 deletions

View File

@@ -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)

View File

@@ -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,

View File

@@ -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__":