Split out database stuff into sprinklers_database
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Alex Mikhalev 2020-09-30 15:38:43 -06:00
parent 3b96f2019d
commit ffef2eb50c
22 changed files with 30 additions and 7 deletions

View File

@ -2,5 +2,6 @@
members = [
"sprinklers_core",
"sprinklers_database",
"sprinklers_rs"
]

View File

@ -0,0 +1,16 @@
[package]
name = "sprinklers_database"
version = "0.1.0"
authors = ["Alex Mikhalev <alexmikhalevalex@gmail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
sprinklers_core = { path = "../sprinklers_core" }
rusqlite = "0.24.0"
eyre = "0.6.0"
serde = { version = "1.0.116" }
serde_json = "1.0.57"
thiserror = "1.0.20"
tracing = { version = "0.1.19" }

View File

@ -18,7 +18,7 @@ if [[ -z "$MIGRATION_NAME" ]]; then
exit 1
fi
MIGRATIONS_DIR="$PROJECT_ROOT/src/database/migrations"
MIGRATIONS_DIR="$PROJECT_ROOT/sprinklers_database/src/migrations"
# echo "MIGRATIONS_DIR: $MIGRATIONS_DIR"
@ -59,7 +59,7 @@ done
LINE_TO_INSERT="\ \ \ \ migs.add(include_file_migration!($NEXT_MIGRATION, \"$NEXT_MIGRATION_PREFIX-$MIGRATION_NAME\"));"
MIGRATIONS_RS="$PROJECT_ROOT/src/database/migrations/mod.rs"
MIGRATIONS_RS="$PROJECT_ROOT/sprinklers_database/src/migrations/mod.rs"
echo "Inserting line in $MIGRATIONS_RS"
sed -i "/INSERT MIGRATION ABOVE/i \
$LINE_TO_INSERT" "$MIGRATIONS_RS"

View File

@ -116,11 +116,17 @@ pub struct Migrations {
migrations: BTreeMap<MigrationVersion, Box<dyn Migration>>,
}
impl Default for Migrations {
fn default() -> Self {
Self {
migrations: BTreeMap::default(),
}
}
}
impl Migrations {
pub fn new() -> Self {
Self {
migrations: BTreeMap::new(),
}
Self::default()
}
pub fn add(&mut self, migration: Box<dyn Migration>) {

View File

@ -8,7 +8,7 @@ edition = "2018"
[dependencies]
sprinklers_core = { path = "../sprinklers_core" }
rusqlite = "0.24.0"
sprinklers_database = { path = "../sprinklers_database" }
color-eyre = "0.5.1"
eyre = "0.6.0"
thiserror = "1.0.20"

View File

@ -1,7 +1,6 @@
#![warn(clippy::all)]
#![warn(clippy::print_stdout)]
mod database;
mod mqtt;
mod option_future;
mod program_runner;
@ -12,6 +11,7 @@ mod trace_listeners;
mod update_listener;
use sprinklers_core::section_interface::MockSectionInterface;
use sprinklers_database as database;
use update_listener::UpdateListener;
use eyre::Result;