-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Copy patherror.rs
39 lines (29 loc) · 1.36 KB
/
error.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use crate::error::{BoxDynError, Error};
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum MigrateError {
#[error("while executing migrations: {0}")]
Execute(#[from] Error),
#[error("while resolving migrations: {0}")]
Source(#[source] BoxDynError),
#[error("migration {0} was previously applied but is missing in the resolved migrations")]
VersionMissing(i64),
#[error("migration {0} was previously applied but has been modified")]
VersionMismatch(i64),
#[error("migration {0} is not present in the migration source")]
VersionNotPresent(i64),
#[error("migration {0} is older than the latest applied migration {1}")]
VersionTooOld(i64, i64),
#[error("migration {0} is newer than the latest applied migration {1}")]
VersionTooNew(i64, i64),
#[error("database driver does not support force-dropping a database (Only PostgreSQL)")]
ForceNotSupported,
#[deprecated = "migration types are now inferred"]
#[error("cannot mix reversible migrations with simple migrations. All migrations should be reversible or simple migrations")]
InvalidMixReversibleAndSimple,
// NOTE: this will only happen with a database that does not have transactional DDL (.e.g, MySQL or Oracle)
#[error(
"migration {0} is partially applied; fix and remove row from `_sqlx_migrations` table"
)]
Dirty(i64),
}