Fix broken migration on labrinth

This commit is contained in:
Jai A 2025-01-16 23:00:11 -08:00
parent 208015a911
commit 497b0bca0b
No known key found for this signature in database
GPG Key ID: 9A9F9B7250E9883C
7 changed files with 20 additions and 10 deletions

View File

@ -38,7 +38,7 @@
false,
false,
true,
true,
false,
true
]
},

View File

@ -38,7 +38,7 @@
false,
false,
true,
true,
false,
true
]
},

View File

@ -44,7 +44,7 @@
false,
false,
true,
true,
false,
true
]
},

View File

@ -1,3 +1,9 @@
ALTER TABLE version_fields
ALTER COLUMN enum_value SET DEFAULT -1;
ALTER TABLE version_fields
ALTER COLUMN enum_value SET NOT NULL;
WITH CTE AS (
SELECT ctid,
ROW_NUMBER() OVER (PARTITION BY version_id, field_id, enum_value ORDER BY ctid) AS row_num

View File

@ -595,12 +595,12 @@ impl Project {
version_id: VersionId(m.version_id),
field_id: LoaderFieldId(m.field_id),
int_value: m.int_value,
enum_value: m.enum_value.map(LoaderFieldEnumValueId),
enum_value: if m.enum_value == -1 { None } else { Some(LoaderFieldEnumValueId(m.enum_value)) },
string_value: m.string_value,
};
if let Some(enum_value) = m.enum_value {
loader_field_enum_value_ids.insert(LoaderFieldEnumValueId(enum_value));
if m.enum_value != -1 {
loader_field_enum_value_ids.insert(LoaderFieldEnumValueId(m.enum_value));
}
acc.entry(ProjectId(m.mod_id)).or_default().push(qvf);

View File

@ -499,12 +499,12 @@ impl Version {
version_id: VersionId(m.version_id),
field_id: LoaderFieldId(m.field_id),
int_value: m.int_value,
enum_value: m.enum_value.map(LoaderFieldEnumValueId),
enum_value: if m.enum_value == -1 { None } else { Some(LoaderFieldEnumValueId(m.enum_value)) },
string_value: m.string_value,
};
if let Some(enum_value) = m.enum_value {
loader_field_enum_value_ids.insert(LoaderFieldEnumValueId(enum_value));
if m.enum_value != -1 {
loader_field_enum_value_ids.insert(LoaderFieldEnumValueId(m.enum_value));
}
acc.entry(VersionId(m.version_id)).or_default().push(qvf);

View File

@ -505,7 +505,11 @@ async fn index_versions(
version_id: VersionId(m.version_id),
field_id: LoaderFieldId(m.field_id),
int_value: m.int_value,
enum_value: m.enum_value.map(LoaderFieldEnumValueId),
enum_value: if m.enum_value == -1 {
None
} else {
Some(LoaderFieldEnumValueId(m.enum_value))
},
string_value: m.string_value,
};