macros.rs 753 B

12345678910111213141516171819202122232425
  1. #[macro_export]
  2. macro_rules! diesel_update_table {
  3. (
  4. $table_name:ident,
  5. $changeset:ident,
  6. $connection:expr
  7. ) => {
  8. let filter = $table_name::dsl::$table_name.filter($table_name::dsl::id.eq($changeset.id.clone()));
  9. let affected_row = diesel::update(filter).set($changeset).execute(&*$connection)?;
  10. debug_assert_eq!(affected_row, 1);
  11. };
  12. }
  13. #[macro_export]
  14. macro_rules! diesel_delete_table {
  15. (
  16. $table_name:ident,
  17. $id:ident,
  18. $connection:ident
  19. ) => {
  20. let filter = $table_name::dsl::$table_name.filter($table_name::dsl::id.eq($id));
  21. let affected_row = diesel::delete(filter).execute(&*$connection)?;
  22. debug_assert_eq!(affected_row, 1);
  23. };
  24. }