models#

TODO (1) validate that this DDL works with sqlite (2) validate that this DDL works with postgres (3) use it on a postgres database (4) adjust the gather_data.py script to load data into tables already created using this DDL (5) run some queries in the populated database to make sure it all works right




Functions#

print_ddl

Print the CREATE TABLE DDL for the given table class

Classes#

Adjective

Breakdown

BreakdownItem

Conjugation

Definition

There are 2 types of definition in this table: parent and child.

DefinitionItem

This is a bridge table.

GenericToString

Morpheme

MorphemeFamily

This table is necessary because some families have multiple meanings

MorphemeFamilyMeaning

Noun

Sentence

SentenceTranslation

User

VerbPair

Word

WordToSentence

Bridge table between words and sentences

class Adjective#

class rootski.services.database.models.models.Adjective(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class Breakdown#

class rootski.services.database.models.models.Breakdown(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class BreakdownItem#

class rootski.services.database.models.models.BreakdownItem(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class Conjugation#

class rootski.services.database.models.models.Conjugation(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class Definition#

class rootski.services.database.models.models.Definition(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

There are 2 types of definition in this table: parent and child. Parent definitions have a null “definition” field. Parent definitions can be joined with the “definition_contents” table to access the child/sub definitions of those rows.

class DefinitionItem#

class rootski.services.database.models.models.DefinitionItem(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

This is a bridge table. Each row in this table represents either a sub-definition or an example. The join to get a list of sub-definitions from a word looks like this:

word -> word_defs -> definition_contents -> definitions or examples

class GenericToString#

class rootski.services.database.models.models.GenericToString[source]#

Bases: object

class Morpheme#

class rootski.services.database.models.models.Morpheme(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class MorphemeFamily#

class rootski.services.database.models.models.MorphemeFamily(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

This table is necessary because some families have multiple meanings

class MorphemeFamilyMeaning#

class rootski.services.database.models.models.MorphemeFamilyMeaning(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class Noun#

class rootski.services.database.models.models.Noun(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class Sentence#

class rootski.services.database.models.models.Sentence(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class SentenceTranslation#

class rootski.services.database.models.models.SentenceTranslation(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class User#

class rootski.services.database.models.models.User(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class VerbPair#

class rootski.services.database.models.models.VerbPair(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class Word#

class rootski.services.database.models.models.Word(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

class WordToSentence#

class rootski.services.database.models.models.WordToSentence(**kwargs)[source]#

Bases: sqlalchemy.orm.decl_api.Base, rootski.services.database.models.models.GenericToString

Bridge table between words and sentences