pub trait DeleteRepositoryTransaction<M: Model>: DeleteRepository<M> + TransactionRepository<M> {
// Provided methods
fn delete_by_id_in_transaction<'a>(
&'a self,
id: impl Into<M::Id> + Send + 'a,
) -> impl Future<Output = Result<(), Error>> + Send + 'a
where M::Id: 'a { ... }
fn delete_by_filter_in_transaction<'a>(
&'a self,
filter: impl SqlFilter<'a> + Send + 'a,
) -> impl Future<Output = Result<(), Error>> + Send + 'a { ... }
fn delete_by_values_in_transaction<'a, I>(
&'a self,
column: &'static str,
values: I,
) -> impl Future<Output = Result<(), Error>> + Send + 'a
where M::Id: Type<Database> + Encode<'a, Database> + 'a,
I: IntoIterator<Item = M::Id> + Send + 'a,
I::IntoIter: Send + 'a { ... }
}
Provided Methods§
fn delete_by_id_in_transaction<'a>(
&'a self,
id: impl Into<M::Id> + Send + 'a,
) -> impl Future<Output = Result<(), Error>> + Send + 'awhere
M::Id: 'a,
fn delete_by_filter_in_transaction<'a>( &'a self, filter: impl SqlFilter<'a> + Send + 'a, ) -> impl Future<Output = Result<(), Error>> + Send + 'a
Sourcefn delete_by_values_in_transaction<'a, I>(
&'a self,
column: &'static str,
values: I,
) -> impl Future<Output = Result<(), Error>> + Send + 'a
fn delete_by_values_in_transaction<'a, I>( &'a self, column: &'static str, values: I, ) -> impl Future<Output = Result<(), Error>> + Send + 'a
Examples found in repository?
examples/basic_repo.rs (line 207)
175async fn main() {
176 install_default_drivers();
177
178 initialize_db_pool(
179 PoolOptions::new()
180 .max_connections(21)
181 .min_connections(5)
182 .idle_timeout(Duration::from_secs(60 * 10))
183 .max_lifetime(Duration::from_secs(60 * 60 * 24))
184 .acquire_timeout(Duration::from_secs(20))
185 .connect(&DATABASE_URL)
186 .await
187 .expect("Failed to connect to database"),
188 );
189
190 let user = User {
191 id: 1,
192 name: String::new(),
193 };
194
195 USER_REPO.save_ref(&user).await.unwrap();
196
197 USER_REPO.save_in_transaction(user.clone()).await.unwrap();
198
199 USER_REPO
200 .save_with_context(user.clone(), UserContext::System)
201 .await
202 .unwrap();
203
204 USER_REPO.with_transaction(action).await.unwrap();
205
206 USER_REPO
207 .delete_by_values_in_transaction("id", [1, 2, 3, 11, 22])
208 .await
209 .unwrap();
210}
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.