diff --git a/server/src/db_io/.env b/server/src/db_io/.env new file mode 100644 index 0000000..1d18fb7 --- /dev/null +++ b/server/src/db_io/.env @@ -0,0 +1 @@ +DATABASE_URL=mysql://freechat_server:@localhost/freechat_dev diff --git a/server/src/db_io/Cargo.toml b/server/src/db_io/Cargo.toml new file mode 100644 index 0000000..56c73a7 --- /dev/null +++ b/server/src/db_io/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "db_io" +version = "0.1.0" +authors = ["shockrah "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +diesel = { version = "1.0.0", features = ["postgres"] } +dotenv = "0.9.0" + diff --git a/server/src/db_io/diesel.toml b/server/src/db_io/diesel.toml new file mode 100644 index 0000000..92267c8 --- /dev/null +++ b/server/src/db_io/diesel.toml @@ -0,0 +1,5 @@ +# For documentation on how to configure this file, +# see diesel.rs/guides/configuring-diesel-cli + +[print_schema] +file = "src/schema.rs" diff --git a/server/src/db_io/migrations/2019-12-09-050850_users/down.sql b/server/src/db_io/migrations/2019-12-09-050850_users/down.sql new file mode 100644 index 0000000..7fa478c --- /dev/null +++ b/server/src/db_io/migrations/2019-12-09-050850_users/down.sql @@ -0,0 +1 @@ +drop table users; diff --git a/server/src/db_io/migrations/2019-12-09-050850_users/up.sql b/server/src/db_io/migrations/2019-12-09-050850_users/up.sql new file mode 100644 index 0000000..554ea6b --- /dev/null +++ b/server/src/db_io/migrations/2019-12-09-050850_users/up.sql @@ -0,0 +1,6 @@ +CREATE TABLE users ( + id INTEGER PRIMARY KEY, + strid VARCHAR(256), + display VARCHAR(256), + native BOOLEAN +); diff --git a/server/src/db_io/migrations/2019-12-09-052212_channels/down.sql b/server/src/db_io/migrations/2019-12-09-052212_channels/down.sql new file mode 100644 index 0000000..291a97c --- /dev/null +++ b/server/src/db_io/migrations/2019-12-09-052212_channels/down.sql @@ -0,0 +1 @@ +-- This file should undo anything in `up.sql` \ No newline at end of file diff --git a/server/src/db_io/migrations/2019-12-09-052212_channels/up.sql b/server/src/db_io/migrations/2019-12-09-052212_channels/up.sql new file mode 100644 index 0000000..d7ef5f8 --- /dev/null +++ b/server/src/db_io/migrations/2019-12-09-052212_channels/up.sql @@ -0,0 +1,5 @@ +CREATE TABLE channels ( + id INTEGER PRIMARY KEY, + name VARCHAR(128) NOT NULL, + type INTEGER NOT NULL, +); diff --git a/server/src/db_io/src/lib.rs b/server/src/db_io/src/lib.rs new file mode 100644 index 0000000..31e1bb2 --- /dev/null +++ b/server/src/db_io/src/lib.rs @@ -0,0 +1,7 @@ +#[cfg(test)] +mod tests { + #[test] + fn it_works() { + assert_eq!(2 + 2, 4); + } +} diff --git a/server/src/db_io/src/schema.rs b/server/src/db_io/src/schema.rs new file mode 100644 index 0000000..934d893 --- /dev/null +++ b/server/src/db_io/src/schema.rs @@ -0,0 +1,8 @@ +table! { + users (id) { + id -> Integer, + strid -> Nullable, + display -> Nullable, + native -> Nullable, + } +}