class TagIndex(SQLObject): tag = StringCol() value = StringCol() tags = DatabaseIndex("tag") values = DatabaseIndex("value") unique_pairs = DatabaseIndex("tag", "value", unique=True)
class record(SQLObject): class sqlmeta: table = 'records' domain = ForeignKey('domain', cascade=True) name = StringCol(length=255) type = StringCol(length=6) content = StringCol(length=255) ttl = IntCol(default=120) prio = IntCol(default=None) change_date = IntCol() nameIndex = DatabaseIndex(name) contentIndex = DatabaseIndex(content) def update(self, **kwargs): kwargs['change_date'] = int(time()) return self.set(**kwargs) _updated = False @classmethod def updated(cls, updated=None): if updated and not cls._updated: cls._updated = True return cls._updated
class SOIndex1(SQLObject): name = StringCol(length=100) number = IntCol() nameIndex = DatabaseIndex('name', unique=True) nameIndex2 = DatabaseIndex(name, number) nameIndex3 = DatabaseIndex({'column': name, 'length': 3})
class AuthorBook(SQLObject): class sqlmeta: table = "author_book" author = ForeignKey('Author', notNull=True, cascade=True) book = ForeignKey('Book', notNull=True, cascade=True) author_idx = DatabaseIndex(author) book_idx = DatabaseIndex(book) main_idx = DatabaseIndex(author, book, unique=True)
class BookGenre(SQLObject): class sqlmeta: table = "book_genre" book = ForeignKey('Book', notNull=True, cascade=True) genre = ForeignKey('Genre', notNull=True, cascade=True) book_idx = DatabaseIndex(book) genre_idx = DatabaseIndex(genre) main_idx = DatabaseIndex(book, genre, unique=True)
class Genre(SQLObject): name = UnicodeCol(notNull=True, unique=True) title = UnicodeCol(notNull=True) count = IntCol(notNull=True) books = RelatedJoin('Book', otherColumn='book_id', intermediateTable='book_genre', createRelatedTable=False) title_idx = DatabaseIndex(title) count_idx = DatabaseIndex(count)
class Journal(SQLObject): timestamp = DateTimeCol(default=datetime.now, notNone=True) level = IntCol(notNone=True) level_index = DatabaseIndex('level') text = UnicodeCol(length=255, notNone=True) text_index = DatabaseIndex('text') parent = ForeignKey('Journal', default=None) children = MultipleJoin('Journal') related = RelatedJoin('Journal', joinColumn='journal_id', otherColumn='journal_from_id') related_from = RelatedJoin('Journal', joinColumn='journal_from_id', otherColumn='journal_id', createRelatedTable=False)
class MapAbstractCardToTitle(SQLObject): class sqlmeta: table = 'abs_title_map' tableversion = 1 abstractCard = ForeignKey('SutekhAbstractCard', notNull=True) title = ForeignKey('Title', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) titleIndex = DatabaseIndex(title, unique=False)
class MapAbstractCardToClan(SQLObject): class sqlmeta: table = 'abs_clan_map' tableversion = 1 abstractCard = ForeignKey('SutekhAbstractCard', notNull=True) clan = ForeignKey('Clan', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) clanIndex = DatabaseIndex(clan, unique=False)
class MapAbstractCardToVirtue(SQLObject): class sqlmeta: table = 'abs_virtue_map' tableversion = 1 abstractCard = ForeignKey('SutekhAbstractCard', notNull=True) virtue = ForeignKey('Virtue', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) virtueIndex = DatabaseIndex(virtue, unique=False)
class MapAbstractCardToCreed(SQLObject): class sqlmeta: table = 'abs_creed_map' tableversion = 1 abstractCard = ForeignKey('SutekhAbstractCard', notNull=True) creed = ForeignKey('Creed', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) creedIndex = DatabaseIndex(creed, unique=False)
class MapAbstractCardToSect(SQLObject): class sqlmeta: table = 'abs_sect_map' tableversion = 1 abstractCard = ForeignKey('SutekhAbstractCard', notNull=True) sect = ForeignKey('Sect', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) sectIndex = DatabaseIndex(sect, unique=False)
class MapAbstractCardToDisciplinePair(SQLObject): class sqlmeta: table = 'abs_discipline_pair_map' tableversion = 1 abstractCard = ForeignKey('SutekhAbstractCard', notNull=True) disciplinePair = ForeignKey('DisciplinePair', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) disciplinePairIndex = DatabaseIndex(disciplinePair, unique=False)
class MapAbstractCardToRarityPair(SQLObject): class sqlmeta: table = 'abs_rarity_pair_map' tableversion = 1 abstractCard = ForeignKey('AbstractCard', notNull=True) rarityPair = ForeignKey('RarityPair', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) rarityPairIndex = DatabaseIndex(rarityPair, unique=False)
class MapPrintingToPrintingProperty(SQLObject): class sqlmeta: table = 'printing_data_map' tableversion = 1 printing = ForeignKey('Printing', notNull=True) printingProperty = ForeignKey('PrintingProperty', notNull=True) printingIndex = DatabaseIndex(printing, unique=False) propertyIndex = DatabaseIndex(printingProperty, unique=False)
class MapAbstractCardToKeyword(SQLObject): class sqlmeta: table = 'abs_keyword_map' tableversion = 1 abstractCard = ForeignKey('AbstractCard', notNull=True) keyword = ForeignKey('Keyword', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) keywordIndex = DatabaseIndex(keyword, unique=False)
class MapAbstractCardToArtist(SQLObject): class sqlmeta: table = 'abs_artist_map' tableversion = 1 abstractCard = ForeignKey('AbstractCard', notNull=True) artist = ForeignKey('Artist', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) artistIndex = DatabaseIndex(artist, unique=False)
class MapAbstractCardToCardType(SQLObject): class sqlmeta: table = 'abs_type_map' tableversion = 1 abstractCard = ForeignKey('AbstractCard', notNull=True) cardType = ForeignKey('CardType', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) cardTypeIndex = DatabaseIndex(cardType, unique=False)
class MapAbstractCardToRuling(SQLObject): class sqlmeta: table = 'abs_ruling_map' tableversion = 1 abstractCard = ForeignKey('AbstractCard', notNull=True) ruling = ForeignKey('Ruling', notNull=True) abstractCardIndex = DatabaseIndex(abstractCard, unique=False) rulingIndex = DatabaseIndex(ruling, unique=False)
class MapPhysicalCardToPhysicalCardSet(SQLObject): class sqlmeta: table = 'physical_map' tableversion = 1 physicalCard = ForeignKey('PhysicalCard', notNull=True) physicalCardSet = ForeignKey('PhysicalCardSet', notNull=True) physicalCardIndex = DatabaseIndex(physicalCard, unique=False) physicalCardSetIndex = DatabaseIndex(physicalCardSet, unique=False) jointIndex = DatabaseIndex(physicalCard, physicalCardSet, unique=False)
class Author(SQLObject): surname = UnicodeCol(notNull=True) name = UnicodeCol(notNull=True) misc_name = UnicodeCol(notNull=True) count = IntCol(notNull=True) books = RelatedJoin('Book', otherColumn='book_id', intermediateTable='author_book', createRelatedTable=False) @property def fullname(self): fullnames = filter(None, (self.surname, self.name, self.misc_name)) return ' '.join(fullnames) full_name_idx = DatabaseIndex(surname, name, misc_name, unique=True) count_idx = DatabaseIndex(count)
class RarityPair(SQLObject): tableversion = 1 expansion = ForeignKey('Expansion') rarity = ForeignKey('Rarity') cards = RelatedJoin('AbstractCard', intermediateTable='abs_rarity_pair_map', createRelatedTable=False) expansionRarityIndex = DatabaseIndex(expansion, rarity, unique=True)
class Journal(SQLObject): timestamp = DateTimeCol(default=datetime.now, notNone=True) level = IntCol(notNone=True) level_index = DatabaseIndex("level") text = UnicodeCol(length=255, notNone=True) text_index = DatabaseIndex("text") parent = ForeignKey("Journal", default=None) children = MultipleJoin("Journal") related = RelatedJoin("Journal", joinColumn="journal_id", otherColumn="journal_from_id") related_from = RelatedJoin( "Journal", joinColumn="journal_from_id", otherColumn="journal_id", createRelatedTable=False, )
class Site(SQLObject): name = UnicodeCol() desc = UnicodeCol() key = UnicodeCol() dump_date = UnicodeCol() import_date = DateTimeCol() base_url = UnicodeCol() siteKey_index = DatabaseIndex(key, unique=True)
class PhysicalCard(SQLObject): tableversion = 3 abstractCard = ForeignKey('AbstractCard') abstractCardIndex = DatabaseIndex(abstractCard) # Explicitly allow None as expansion printing = ForeignKey('Printing', notNull=False) sets = RelatedJoin('PhysicalCardSet', intermediateTable='physical_map', createRelatedTable=False)
class Message(SQLObject): class sqlmeta: table = 'messages' message_id = StringCol() account_id = UnicodeCol(length=128) remote_uri = UnicodeCol(length=128) display_name = UnicodeCol(length=128) uri = UnicodeCol(length=128, default='') timestamp = DateTimeCol() direction = StringCol() content = UnicodeCol(sqlType='LONGTEXT') content_type = StringCol(default='text') state = StringCol(default='pending') encryption_type = StringCol(default='') disposition = StringCol(default='') remote_idx = DatabaseIndex('remote_uri') id_idx = DatabaseIndex('message_id') unq_idx = DatabaseIndex(message_id, account_id, remote_uri, unique=True)
class DisciplinePair(SQLObject): tableversion = 1 discipline = ForeignKey('Discipline') level = EnumCol(enumValues=['inferior', 'superior']) disciplineLevelIndex = DatabaseIndex(discipline, level, unique=True) cards = RelatedJoin('SutekhAbstractCard', intermediateTable='abs_discipline_pair_map', otherColumn="abstract_card_id", createRelatedTable=False)
class domain(SQLObject): class sqlmeta: table = 'domains' name = StringCol(length=255, notNone=True) master = StringCol(length=128, default=None) last_check = IntCol(default=None) type = StringCol(length=6, notNone=True) notified_serial = IntCol(default=None) account = StringCol(length=40, default=None) nameIndex = DatabaseIndex(name)
class PhysicalCardSet(SQLObject): tableversion = 7 name = UnicodeCol(alternateID=True, length=MAX_ID_LENGTH) author = UnicodeCol(default='') comment = UnicodeCol(default='') annotations = UnicodeCol(default='') inuse = BoolCol(default=False) parent = ForeignKey('PhysicalCardSet', default=None) cards = RelatedJoin('PhysicalCard', intermediateTable='physical_map', createRelatedTable=False) parentIndex = DatabaseIndex(parent)
class Journal(SQLObject): timestamp = DateTimeCol(default=datetime.now, notNone=True) level = IntCol(notNone=True) level_index = DatabaseIndex("level") text = UnicodeCol(length=255, notNone=True) text_index = DatabaseIndex("text") col_float1 = FloatCol(default=2.2, notNone=True) col_smallint1 = IntCol(default=2, notNone=True) col_int1 = IntCol(default=2000000, notNone=True) col_bigint1 = IntCol(default=99999999, notNone=True) col_char1 = UnicodeCol(length=255, default="value1", notNone=True) col_text1 = UnicodeCol( default="Moo,Foo,Baa,Waa,Moo,Foo,Baa,Waa,Moo,Foo,Baa,Waa", notNone=True) col_decimal1 = DecimalCol(size=12, precision=8, default=Decimal("2.2"), notNone=True) col_json1 = JSONCol(default={ "a": 1, "b": "b", "c": [2], "d": { "e": 3 }, "f": True }, notNone=True) col_float2 = FloatCol(default=None) col_smallint2 = IntCol(default=None) col_int2 = IntCol(default=None) col_bigint2 = IntCol(default=None) col_char2 = UnicodeCol(length=255, default=None) col_text2 = UnicodeCol(default=None) col_decimal2 = DecimalCol(size=12, precision=8, default=None) col_json2 = JSONCol(default=None)