Commit Graph

8 Commits

Author SHA1 Message Date
psychedelicious
d12fb7db68 fix(config): fix duplicate migration logic
This was checking a `Version` object against a `MigrationEntry`, but what we want is to check the version object against `MigrationEntry.from_version`
2024-04-23 17:25:53 +10:00
psychedelicious
5d411e446a tidy(config): use a type alias for the migration function 2024-04-23 17:21:05 +10:00
psychedelicious
6f128c86b4 tidy(config): use dataclass for MigrationEntry
The only pydantic usage was to convert strings to `Version` objects. The reason to do this conversion was to allow the register decorator to accept strings. MigrationEntry is only created inside this class, so we can just create versions from each migration when instantiating MigrationEntry instead.

Also, pydantic doesn't provide runtime time checking for arbitrary classes like Version, so we don't get any real benefit.
2024-04-23 17:19:54 +10:00
psychedelicious
aca9e44a3a fix(config): use TypeAlias instead of TypeVar
TypeVar is for generics, but the usage here is as an alias
2024-04-23 17:12:19 +10:00
psychedelicious
e39f035264 tidy(config): removed extraneous ABC
We don't need separate implementations for this class, let's not complicate it with an ABC
2024-04-23 17:11:13 +10:00
psychedelicious
b612c73954 tidy(config): remove unused TYPE_CHECKING block 2024-04-23 17:09:50 +10:00
Lincoln Stein
36495b730d use packaging.version rather than version-parse 2024-04-18 23:07:54 -04:00
Lincoln Stein
6ad1948a44 add InvokeAIAppConfig schema migration system 2024-04-18 21:33:54 -04:00