1
0
Fork 1
Spiegel von https://github.com/dani-garcia/vaultwarden.git synchronisiert 2024-11-22 05:10:29 +01:00

Fix issue with postgres

Dieser Commit ist enthalten in:
Daniel García 2020-03-14 23:35:34 +01:00
Ursprung afd9f4e278
Commit 819f340f39
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: FC8A7D14C3CD543A

Datei anzeigen

@ -57,14 +57,14 @@ impl OrgPolicy {
/// Database methods /// Database methods
impl OrgPolicy { impl OrgPolicy {
#[cfg(feature = "postgresql")] #[cfg(feature = "postgresql")]
pub fn save(&mut self, conn: &DbConn) -> EmptyResult { pub fn save(&self, conn: &DbConn) -> EmptyResult {
// We need to make sure we're not going to violate the unique constraint on org_uuid and atype. // We need to make sure we're not going to violate the unique constraint on org_uuid and atype.
// This happens automatically on other DBMS backends due to replace_into(). PostgreSQL does // This happens automatically on other DBMS backends due to replace_into(). PostgreSQL does
// not support multiple constraints on ON CONFLICT clauses. // not support multiple constraints on ON CONFLICT clauses.
diesel::delete( diesel::delete(
org_policies::table org_policies::table
.filter(org_policies::org_uuid.eq(&self.org_uuid)) .filter(org_policies::org_uuid.eq(self.org_uuid))
.filter(org_policies::atype.eq(&self.atype)), .filter(org_policies::atype.eq(self.atype)),
) )
.execute(&**conn) .execute(&**conn)
.map_res("Error deleting org_policy for insert")?; .map_res("Error deleting org_policy for insert")?;
@ -79,7 +79,7 @@ impl OrgPolicy {
} }
#[cfg(not(feature = "postgresql"))] #[cfg(not(feature = "postgresql"))]
pub fn save(&mut self, conn: &DbConn) -> EmptyResult { pub fn save(&self, conn: &DbConn) -> EmptyResult {
diesel::replace_into(org_policies::table) diesel::replace_into(org_policies::table)
.values(&*self) .values(&*self)
.execute(&**conn) .execute(&**conn)