feat: migration 0020 group_key + move state-of-padel to reports/
- Migration 0020: add group_key TEXT column + index to articles table
- DELETE state-of-padel rows from articles (slug collision, moving to reports)
- git mv state-of-padel-q1-2026-{en,de}.md → data/content/reports/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
"""Add group_key column to articles for cross-language static article grouping.
|
||||
|
||||
Static cornerstone articles (e.g. padel-hall-cost-guide EN vs padel-halle-kosten DE)
|
||||
have different url_paths per language, so they cannot be grouped by url_path alone.
|
||||
The group_key (populated from the `cornerstone` frontmatter field, e.g. 'C2') is a
|
||||
shared key that pairs EN/DE variants of the same static article.
|
||||
|
||||
pSEO articles leave group_key NULL and continue to group by url_path (unchanged).
|
||||
|
||||
Also removes any state-of-padel articles that are being moved to the reports flow.
|
||||
"""
|
||||
|
||||
|
||||
def up(conn):
|
||||
conn.execute(
|
||||
"ALTER TABLE articles ADD COLUMN group_key TEXT DEFAULT NULL"
|
||||
)
|
||||
conn.execute(
|
||||
"CREATE INDEX IF NOT EXISTS idx_articles_group_key"
|
||||
" ON articles(group_key)"
|
||||
)
|
||||
# Remove state-of-padel rows — these are moving to the reports flow
|
||||
# and would cause slug collisions (both EN/DE use slug 'state-of-padel-q1-2026')
|
||||
conn.execute("DELETE FROM articles WHERE slug LIKE 'state-of-padel%'")
|
||||
Reference in New Issue
Block a user