forked from projectmoon/tenebrous-dicebot
32 lines
1001 B
Rust
32 lines
1001 B
Rust
use barrel::backend::Sqlite;
|
|
use barrel::{types, Migration};
|
|
use log::info;
|
|
|
|
pub fn migration() -> String {
|
|
let mut m = Migration::new();
|
|
info!("Applying migration: {}", file!());
|
|
|
|
//Table for basic room information: room ID, room name
|
|
m.create_table("room_info", move |t| {
|
|
t.add_column("id", types::primary());
|
|
t.add_column("room_id", types::text());
|
|
t.add_column("room_name", types::text());
|
|
});
|
|
|
|
//Table of users in rooms.
|
|
m.create_table("room_users", move |t| {
|
|
t.add_column("id", types::primary());
|
|
t.add_column("room_id", types::text());
|
|
t.add_column("username", types::text());
|
|
});
|
|
|
|
//Table of room ID, event ID, event timestamp
|
|
m.create_table("room_events", move |t| {
|
|
t.add_column("id", types::primary());
|
|
t.add_column("room_id", types::text());
|
|
t.add_column("event_id", types::text());
|
|
t.add_column("event_timestamp", types::integer());
|
|
});
|
|
m.make::<Sqlite>()
|
|
}
|