sqlite.rs 902 B

123456789101112131415161718192021222324252627282930313233
  1. #![allow(missing_docs)]
  2. #![cfg(feature = "sqlite")]
  3. use kuatia_storage_sql::SqlStore;
  4. async fn new_store() -> SqlStore {
  5. sqlx::any::install_default_drivers();
  6. let pool = sqlx::any::AnyPoolOptions::new()
  7. .max_connections(1)
  8. .connect("sqlite::memory:")
  9. .await
  10. .unwrap();
  11. let store = SqlStore::new(pool);
  12. store.migrate().await.unwrap();
  13. store
  14. }
  15. kuatia_storage::store_tests!(new_store);
  16. /// migrate() is idempotent: running it repeatedly on the same DB is a no-op.
  17. #[tokio::test]
  18. async fn migrate_is_idempotent() {
  19. sqlx::any::install_default_drivers();
  20. let pool = sqlx::any::AnyPoolOptions::new()
  21. .max_connections(1)
  22. .connect("sqlite::memory:")
  23. .await
  24. .unwrap();
  25. let store = SqlStore::new(pool);
  26. store.migrate().await.unwrap();
  27. store.migrate().await.unwrap();
  28. store.migrate().await.unwrap();
  29. }