Skip to content

Commit b41061f

Browse files
authored
Merge pull request #720 from integer32llc/orgs
Upsert based on GitHub team ID in case of org/team renames
2 parents 3ac821e + a63150d commit b41061f

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/owner.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,9 @@ impl Team {
164164
name: Option<String>,
165165
avatar: Option<String>)
166166
-> CargoResult<Self> {
167-
#[derive(Insertable)]
167+
use diesel::pg::upsert::*;
168+
169+
#[derive(Insertable, AsChangeset)]
168170
#[table_name="teams"]
169171
struct NewTeam<'a> {
170172
login: &'a str,
@@ -178,7 +180,10 @@ impl Team {
178180
name: name,
179181
avatar: avatar,
180182
};
181-
diesel::insert(&new_team).into(teams::table)
183+
184+
diesel::insert(
185+
&new_team.on_conflict(teams::github_id, do_update().set(&new_team))
186+
).into(teams::table)
182187
.get_result(conn)
183188
.map_err(Into::into)
184189
}

0 commit comments

Comments
 (0)