23 lines
1005 B
Python
23 lines
1005 B
Python
|
|
from sqlalchemy import Column, Table, Integer, String, ForeignKey, and_, select
|
|
from sqlalchemy.orm import mapper, column_property
|
|
from eos.types import Item, Traits
|
|
from eos.db import gamedata_meta
|
|
|
|
traits_table = Table("invtraits", gamedata_meta,
|
|
Column("typeID", Integer, ForeignKey("invtypes.typeID"), primary_key=True),
|
|
Column("skillID", Integer, ForeignKey("invtypes.typeID"), primary_key=True),
|
|
Column("bonusText", String, primary_key=True))
|
|
|
|
|
|
from .item import items_table
|
|
|
|
mapper(Traits, traits_table,
|
|
properties = {"skillName" : column_property(
|
|
select([items_table.c.typeName],
|
|
and_(
|
|
items_table.c.typeID == traits_table.c.skillID,
|
|
traits_table.c.skillID != -1
|
|
)))
|
|
});
|