feat: add barrel

This commit is contained in:
2021-01-02 18:49:02 +08:00
parent 42a261af55
commit 8b70dfa145
3 changed files with 44 additions and 0 deletions

14
__database/barrel/Cargo.lock generated Normal file
View File

@@ -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"

View File

@@ -0,0 +1,11 @@
[package]
name = "barrel"
version = "0.1.0"
authors = ["Hatter Jiang <jht5945@gmail.com>"]
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" ] }

View File

@@ -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::<Pg>());
println!("{}", m.make::<MySql>());
println!("{}", m.make::<Sqlite>());
}