Skip to content

Commit 635d8f9

Browse files
committed
feat: implement insert_many
1 parent 898df7f commit 635d8f9

2 files changed

Lines changed: 328 additions & 4 deletions

File tree

crates/sqlx_gen/src/cli.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,12 +262,13 @@ pub struct Methods {
262262
pub paginate: bool,
263263
pub get: bool,
264264
pub insert: bool,
265+
pub insert_many: bool,
265266
pub update: bool,
266267
pub overwrite: bool,
267268
pub delete: bool,
268269
}
269270

270-
const ALL_METHODS: &[&str] = &["get_all", "paginate", "get", "insert", "update", "overwrite", "delete"];
271+
const ALL_METHODS: &[&str] = &["get_all", "paginate", "get", "insert", "insert_many", "update", "overwrite", "delete"];
271272

272273
impl Methods {
273274
/// Parse a list of method names. `"*"` enables all methods.
@@ -280,6 +281,7 @@ impl Methods {
280281
"paginate" => m.paginate = true,
281282
"get" => m.get = true,
282283
"insert" => m.insert = true,
284+
"insert_many" => m.insert_many = true,
283285
"update" => m.update = true,
284286
"overwrite" => m.overwrite = true,
285287
"delete" => m.delete = true,
@@ -301,6 +303,7 @@ impl Methods {
301303
paginate: true,
302304
get: true,
303305
insert: true,
306+
insert_many: true,
304307
update: true,
305308
overwrite: true,
306309
delete: true,
@@ -492,6 +495,7 @@ mod tests {
492495
assert!(!m.paginate);
493496
assert!(!m.get);
494497
assert!(!m.insert);
498+
assert!(!m.insert_many);
495499
assert!(!m.update);
496500
assert!(!m.overwrite);
497501
assert!(!m.delete);
@@ -504,6 +508,7 @@ mod tests {
504508
assert!(m.paginate);
505509
assert!(m.get);
506510
assert!(m.insert);
511+
assert!(m.insert_many);
507512
assert!(m.update);
508513
assert!(m.overwrite);
509514
assert!(m.delete);
@@ -540,6 +545,7 @@ mod tests {
540545
assert!(m.paginate);
541546
assert!(m.get);
542547
assert!(m.insert);
548+
assert!(m.insert_many);
543549
assert!(m.update);
544550
assert!(m.overwrite);
545551
assert!(m.delete);
@@ -552,6 +558,14 @@ mod tests {
552558
assert!(!m.update);
553559
}
554560

561+
#[test]
562+
fn test_parse_insert_many_method() {
563+
let m = Methods::from_list(&["insert_many".to_string()]).unwrap();
564+
assert!(m.insert_many);
565+
assert!(!m.insert);
566+
assert!(!m.get);
567+
}
568+
555569
// ========== module_path_from_file ==========
556570

557571
#[test]

0 commit comments

Comments
 (0)