fix: pass tags as native arrays not JSON strings in data migration
PostgreSQL text[] columns require native array values, not JSON strings. Parse string tags from Directus and pass as JS arrays directly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -126,7 +126,7 @@ async function migrateUsers() {
|
||||
if (tagsRes.rows[0]?.tags) {
|
||||
tags = Array.isArray(tagsRes.rows[0].tags)
|
||||
? tagsRes.rows[0].tags
|
||||
: JSON.parse(tagsRes.rows[0].tags || "[]");
|
||||
: JSON.parse(String(tagsRes.rows[0].tags || "[]"));
|
||||
}
|
||||
} catch {}
|
||||
|
||||
@@ -144,7 +144,7 @@ async function migrateUsers() {
|
||||
user.artist_name,
|
||||
user.slug,
|
||||
user.description,
|
||||
JSON.stringify(tags),
|
||||
tags,
|
||||
role,
|
||||
user.avatar,
|
||||
true,
|
||||
@@ -203,7 +203,7 @@ async function migrateArticles() {
|
||||
article.excerpt,
|
||||
article.content,
|
||||
article.image,
|
||||
Array.isArray(article.tags) ? JSON.stringify(article.tags) : article.tags,
|
||||
Array.isArray(article.tags) ? article.tags : JSON.parse(String(article.tags || "[]")),
|
||||
article.publish_date,
|
||||
article.author,
|
||||
article.category,
|
||||
@@ -240,7 +240,7 @@ async function migrateVideos() {
|
||||
video.description,
|
||||
video.image,
|
||||
video.movie,
|
||||
Array.isArray(video.tags) ? JSON.stringify(video.tags) : video.tags,
|
||||
Array.isArray(video.tags) ? video.tags : JSON.parse(String(video.tags || "[]")),
|
||||
video.upload_date,
|
||||
video.premium,
|
||||
video.featured,
|
||||
@@ -354,7 +354,7 @@ async function migrateRecordings() {
|
||||
: JSON.stringify(recording.device_info),
|
||||
recording.user_id,
|
||||
recording.status,
|
||||
Array.isArray(recording.tags) ? JSON.stringify(recording.tags) : recording.tags,
|
||||
Array.isArray(recording.tags) ? recording.tags : JSON.parse(String(recording.tags || "[]")),
|
||||
recording.linked_video,
|
||||
recording.public,
|
||||
recording.original_recording_id,
|
||||
|
||||
Reference in New Issue
Block a user