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,
false, false,
true, true,
true, false,
true true
] ]
}, },

View File

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

View File

@ -44,7 +44,7 @@
false, false,
false, false,
true, true,
true, false,
true 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 ( WITH CTE AS (
SELECT ctid, SELECT ctid,
ROW_NUMBER() OVER (PARTITION BY version_id, field_id, enum_value ORDER BY ctid) AS row_num 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), version_id: VersionId(m.version_id),
field_id: LoaderFieldId(m.field_id), field_id: LoaderFieldId(m.field_id),
int_value: m.int_value, 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, string_value: m.string_value,
}; };
if let Some(enum_value) = m.enum_value { if m.enum_value != -1 {
loader_field_enum_value_ids.insert(LoaderFieldEnumValueId(enum_value)); loader_field_enum_value_ids.insert(LoaderFieldEnumValueId(m.enum_value));
} }
acc.entry(ProjectId(m.mod_id)).or_default().push(qvf); acc.entry(ProjectId(m.mod_id)).or_default().push(qvf);

View File

@ -499,12 +499,12 @@ impl Version {
version_id: VersionId(m.version_id), version_id: VersionId(m.version_id),
field_id: LoaderFieldId(m.field_id), field_id: LoaderFieldId(m.field_id),
int_value: m.int_value, 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, string_value: m.string_value,
}; };
if let Some(enum_value) = m.enum_value { if m.enum_value != -1 {
loader_field_enum_value_ids.insert(LoaderFieldEnumValueId(enum_value)); loader_field_enum_value_ids.insert(LoaderFieldEnumValueId(m.enum_value));
} }
acc.entry(VersionId(m.version_id)).or_default().push(qvf); 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), version_id: VersionId(m.version_id),
field_id: LoaderFieldId(m.field_id), field_id: LoaderFieldId(m.field_id),
int_value: m.int_value, 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, string_value: m.string_value,
}; };