on main help sign in
Use helper function to find column in table
9d1b7c4fabianlindfors
src/migrations/add_column.rs−2
@@ -87,8 +87,6 @@ impl Action for AddColumn {
87 db.run(&query).context("failed to add column")?;
87 db.run(&query).context("failed to add column")?;
88
88
89 if let Some(up) = &self.up {
89 if let Some(up) = &self.up {
90− let table = schema.get_table(db, &self.table)?;
91−
92 let declarations: Vec<String> = table
90 let declarations: Vec<String> = table
93 .columns
91 .columns
94 .iter()
92 .iter()
src/migrations/alter_column.rs+1−3
@@ -48,9 +48,7 @@ impl Action for AlterColumn {
48 let table = schema.get_table(db, &self.table)?;
48 let table = schema.get_table(db, &self.table)?;
49
49
50 let column = table
50 let column = table
51− .columns
52− .iter()
53− .find(|column| column.name == self.column)
51+ .get_column(&self.column)
54 .ok_or_else(|| anyhow!("no such column {} exists", self.column))?;
52 .ok_or_else(|| anyhow!("no such column {} exists", self.column))?;
55
53
56 let temporary_column_name = self.temporary_column_name(ctx);
54 let temporary_column_name = self.temporary_column_name(ctx);
src/schema.rs+1−1
@@ -302,7 +302,7 @@ impl Table {
302 })
302 })
303 }
303 }
304
304
305− fn get_column(&self, name: &str) -> Option<&Column> {
305+ pub fn get_column(&self, name: &str) -> Option<&Column> {
306 self.columns.iter().find(|column| column.name == name)
306 self.columns.iter().find(|column| column.name == name)
307 }
307 }
308}
308}