Commit graph

14 commits

Author SHA1 Message Date
Vincent Ambo
9d5830e9a7 feat(migrations): Add a view for simplified post querying
Adds a view to avoid having to query and join the users & posts table
inside of the application (which isn't particularly convenient in Diesel).
2018-05-02 00:33:46 +02:00
Vincent Ambo
a45da31abc refactor(migrations): Rename 'author' column to 'user_id'
This makes it easier to integrate with Diesel, for which this is the
expected column name.
2018-05-02 00:33:46 +02:00
Vincent Ambo
1d9ff8b4c8 fix(migrations): Explicitly insert anonymous user
This guarantees that the anonymous user will always exist and have
ID=1.
2018-05-02 00:33:46 +02:00
Vincent Ambo
02c15f06d6 fix(migrations): Fix search index creation in user migration 2018-05-02 00:33:46 +02:00
Vincent Ambo
2159c76ca7 feat(migrations): Adds a migration to create a users table
As a first step of getting the concept of users into the database,
this creates a (somewhat involved) migration that moves all existing
"users" into a new users table and updates the post table to reference
it.

This migration is not yet finalised and still needs to be updated with
something to handle the concept of anonymous users (which I want to
keep around).
2018-05-02 00:33:46 +02:00
Vincent Ambo
06f7f23bab fix(migrations): Change weighting of title vs. body
After thinking for a little while I actually think the body of a post
may be more relevant when searching for posts than the thread title.

Right now this is just a hunch and we'll have to find out how it
actually ends up working in real life.
2018-04-14 22:21:55 +02:00
Vincent Ambo
2d8db52010 feat(migrations): Add materialized view & index for full text search
Adds a materialized view to be used for full-text searches that
indexes the tsvector documents for each post.
2018-04-14 22:21:55 +02:00
Vincent Ambo
d1c45159b9 feat(db): Add support for stickies in database
Adds a 'sticky' column to threads and rewrites the thread index to
take sticky markings into account when ordering threads.

Stickies are not yet highlighted in any way in the forum overview.
2018-04-14 17:47:31 +02:00
Vincent Ambo
f10bd20276 feat(db): Add view for ordering thread index by most recent post
This implements the classic thread ordering expected by most forum
users (i.e. the thread with the most recent post is at the top).
2018-04-14 17:15:27 +02:00
Vincent Ambo
a90d1cc1a4 feat(migrations): Drop 'body' column from threads
As a data model simplification, the text of a thread's top post should
simply also go into the posts table.
2018-04-14 16:33:15 +02:00
Vincent Ambo
da33786939 feat(migrations): Add author columns to tables
Adds columns for author names and emails to both threads and posts.

"Users" don't (yet? who knows!) exist as independent entity in
Converse, they are simply "inferred" via OIDC providers.
2018-04-08 20:27:22 +02:00
Vincent Ambo
f281749b8c feat(migrations): Default 'posted' columns to NOW() 2018-04-08 19:29:56 +02:00
Vincent Ambo
316036b0a8 refactor(db): Establish Post->Thread association
This makes it possible to query posts by thread via Diesel.
2018-04-08 18:30:01 +02:00
Vincent Ambo
042eb88fd7 feat(migrations): Add posts & threads tables 2018-04-08 15:48:56 +02:00