In tables which contain references to other Rust objects, those references should be foreign keys to a table where that object is stored in, instead of being contained in the first table as JSON.
Example:
A table guilds exists
Table guilds has a column owner, which represents a user
Instead of storing the user as JSON in the guilds table, the owner column should contain a foreign key to the users table, where the user is actually stored.
In tables which contain references to other Rust objects, those references should be foreign keys to a table where that object is stored in, instead of being contained in the first table as JSON.
Example:
guilds
existsguilds
has a columnowner
, which represents auser
user
as JSON in theguilds
table, theowner
column should contain a foreign key to theusers
table, where the user is actually stored.Todos:
Json<T>
wrapper from all types which should be broken out into own tables