From 8b70dfa1451e16ddc10135290e0241b89a1cfa7a Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sat, 2 Jan 2021 18:49:02 +0800 Subject: [PATCH] feat: add barrel --- __database/barrel/Cargo.lock | 14 ++++++++++++++ __database/barrel/Cargo.toml | 11 +++++++++++ __database/barrel/src/main.rs | 19 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 __database/barrel/Cargo.lock create mode 100644 __database/barrel/Cargo.toml create mode 100644 __database/barrel/src/main.rs diff --git a/__database/barrel/Cargo.lock b/__database/barrel/Cargo.lock new file mode 100644 index 0000000..9ec43dc --- /dev/null +++ b/__database/barrel/Cargo.lock @@ -0,0 +1,14 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "barrel" +version = "0.1.0" +dependencies = [ + "barrel 0.6.5", +] + +[[package]] +name = "barrel" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d67c978b1322c8031145b1f6c236fc371292f52c565bc96018b2971afcbffe1" diff --git a/__database/barrel/Cargo.toml b/__database/barrel/Cargo.toml new file mode 100644 index 0000000..18b0765 --- /dev/null +++ b/__database/barrel/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "barrel" +version = "0.1.0" +authors = ["Hatter Jiang "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +barrel = { version = "0.6.5", features = [ "pg", "mysql", "sqlite3" ] } + diff --git a/__database/barrel/src/main.rs b/__database/barrel/src/main.rs new file mode 100644 index 0000000..80487ab --- /dev/null +++ b/__database/barrel/src/main.rs @@ -0,0 +1,19 @@ +use barrel::{types, Migration}; +use barrel::backend::Pg; +use barrel::backend::MySql; +use barrel::backend::Sqlite; + +fn main() { + let mut m = Migration::new(); + + m.create_table("users", |t| { + t.add_column("name", types::varchar(255)); + t.add_column("age", types::integer().nullable(true)); + t.add_column("owns_plushy_sharks", types::boolean().nullable(true)); + }); + + println!("{}", m.make::()); + println!("{}", m.make::()); + println!("{}", m.make::()); +} +