Pārlūkot izejas kodu

Fix für Migration bei Titelduplikaten

hmt 4 gadi atpakaļ
vecāks
revīzija
5c85e4a286
1 mainītis faili ar 9 papildinājumiem un 0 dzēšanām
  1. 9 0
      src/migrations/002-unique_titles.js

+ 9 - 0
src/migrations/002-unique_titles.js

@@ -1,4 +1,13 @@
 exports.up = (DB) => {
+  DB.prepare(`
+  WITH m AS (
+    SELECT ROW_NUMBER () OVER (PARTITION BY name ORDER BY id) AS RowNum, id
+    FROM medienbezeichnung
+  )
+  UPDATE medienbezeichnung
+  SET name = name || ' (Exemplar ' || (SELECT m.RowNum FROM m WHERE m.id = medienbezeichnung.id) || ')'
+  WHERE (SELECT m.RowNum FROM m WHERE m.id = medienbezeichnung.id) > 1;
+  `).run()
   DB.prepare(
     `CREATE UNIQUE INDEX idx_medienbezeichnung_name ON medienbezeichnung (name);`
   ).run();