yeah
All checks were successful
Deploy App / build (push) Successful in 10s
Deploy App / deploy (push) Successful in 11s

This commit is contained in:
valere
2026-02-02 21:00:28 +01:00
parent e257e076c4
commit b9a3d0184f
98 changed files with 5068 additions and 3713 deletions

65
scripts/update-esid.ts Normal file
View File

@@ -0,0 +1,65 @@
import { db } from '../server/services/db'
import { tracks, compilations, playlists, sql } from '../server/schema'
import { eq, and } from 'drizzle-orm'
async function updateEsid() {
console.log('🚀 Démarrage de la mise à jour des esid')
try {
// 1. Mettre à jour les esid pour les compilations
console.log('📋 Mise à jour des esid pour les compilations...')
await db.run(sql`
UPDATE tracks
SET esid = (
SELECT c.box_id || c.side || t."order"
FROM compilations c
WHERE c.id = tracks.source_id AND tracks.source_type = 'compilation'
)
WHERE source_type = 'compilation';
`)
// 2. Mettre à jour les esid pour les playlists
console.log('📋 Mise à jour des esid pour les playlists...')
// Récupérer toutes les playlists
const allPlaylists = await db.select().from(playlists).all()
for (const playlist of allPlaylists) {
// Récupérer les tracks de la playlist triés par ordre
const playlistTracks = await db
.select()
.from(tracks)
.where(and(eq(tracks.sourceType, 'playlist'), eq(tracks.sourceId, playlist.id)))
.orderBy(tracks.order)
// Mettre à jour chaque track avec le bon esid
for (let i = 0; i < playlistTracks.length; i++) {
const track = playlistTracks[i]
const esidSuffix =
i < 26
? String.fromCharCode(65 + i) // A-Z pour les 26 premières pistes
: (i + 1).toString() // Numéros pour les suivantes
await db
.update(tracks)
.set({ esid: `${playlist.name}${esidSuffix}` })
.where(eq(tracks.id, track.id))
}
console.log(`✅ Playlist ${playlist.name} mise à jour (${playlistTracks.length} pistes)`)
}
console.log('\n✅ Tous les esid ont été mis à jour avec succès !')
} catch (error) {
console.error('❌ Erreur lors de la mise à jour des esid:', error)
process.exit(1)
}
}
// Exécuter le script
updateEsid()
.then(() => process.exit(0))
.catch((error) => {
console.error('Erreur inattendue:', error)
process.exit(1)
})