User
    username Text maxlen=190
    password Text maxlen=79
    fullName Text maxlen=500
    email Text maxlen=190
    avatar Text maxlen=190
    note Markdown sqltype=mediumtext
    UniqueUser username
    UniqueEmail email
    deriving Typeable

PgpKey
    userId UserId
    fingerprint Text maxlen=40
    UniqueFingerprint fingerprint

Site
    name Text sqltype=varchar(255)
    icon Text sqltype=varchar(255)
    template Text sqltype=varchar(255)

Profile
    userId UserId
    siteId SiteId
    username Text sqltype=varchar(255)
    displayName Text Maybe sqltype=varchar(255)

Entry
    kind EntryKind maxlen=255
    name Text Maybe maxlen=255
    content Markdown sqltype=longtext
    photo Text Maybe maxlen=190
    published UTCTime
    updated UTCTime
    authorId UserId

Syndication
    entryId EntryId
    profileId ProfileId
    url Text sqltype=varchar(255)

EntryCategory
    entryId EntryId
    category Category sqltype=varchar(190)
    UniqueEntryCategory entryId category