vw_small

Hardened fork of Vaultwarden (https://github.com/dani-garcia/vaultwarden) with fewer features.
git clone https://git.philomathiclife.com/repos/vw_small
Log | Files | Refs | README

commit b85d548879204858325088fa1048e0b6b185600c
parent dce054e63245161155d446d19f0463a588b46730
Author: Daniel GarcĂ­a <dani-garcia@users.noreply.github.com>
Date:   Wed, 18 Mar 2020 18:48:08 +0100

Merge pull request #916 from BlackDex/issue-759

Fixing issue #759 by disabling Foreign Key Checks.
Diffstat:
Msrc/main.rs | 10++++++++++
1 file changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/main.rs b/src/main.rs @@ -323,6 +323,16 @@ mod migrations { let connection = crate::db::get_connection().expect("Can't connect to DB"); use std::io::stdout; + + // Disable Foreign Key Checks during migration + use diesel::RunQueryDsl; + #[cfg(feature = "postgres")] + diesel::sql_query("SET CONSTRAINTS ALL DEFERRED").execute(&connection).expect("Failed to disable Foreign Key Checks during migrations"); + #[cfg(feature = "mysql")] + diesel::sql_query("SET FOREIGN_KEY_CHECKS = 0").execute(&connection).expect("Failed to disable Foreign Key Checks during migrations"); + #[cfg(feature = "sqlite")] + diesel::sql_query("PRAGMA defer_foreign_keys = ON").execute(&connection).expect("Failed to disable Foreign Key Checks during migrations"); + embedded_migrations::run_with_output(&connection, &mut stdout()).expect("Can't run migrations"); } }