One does not simply
migrate a primary key!

PyCon Austria 2025
6.-7. April, Eisenstadt

This is the waiting queue slide. Hit space or right arrow key to jump to cover slide.

One does not simply migrate a primary key!

A database adventure from the Django lands.



jackie / Andrea Ida Malkah Klaura <jackie@tantemalkah.at>

https://tantemalkah.at/2025/pycon

Creative Commons License All contents, unless otherwise noted, were produced by Andrea Ida Malkah Klaura
under a Creative Commons Attribution - Share Alike 4.0 International License.
The feminist technoscience logo on the waiting queue slide is an adaptation of a public domain image.

🌒⇆🌖 Use page style to switch to light mode.

What is this about?

  • a story based on a true encounter
  • about a (not so) simple Django application
  • and its object-relational mapper (ORM)
  • but mostly about relational databases and SQL

Who is we?

The base departement
at the University of Applied Arts Vienna
(a.k.a.: die Angewandte)

What do we do?


all (modern) web applications at the university (+ more)


https://base.uni-ak.ac.at/about

And whoami?


  • IRL: jackie
  • officially: Andrea Ida Malkah Klaura
  • part of the base dev team since 2020
  • also a lecturer on different universities
  • activist for better tech for everyone
  • #morefunnotprofit
  • Never Trust A Running System!
  • more info on tantemalkah.at

pronouns

That gender you got at birth? That's just a tutorial gender. You're only supposed to use it to get the hang on this world's gender system and then ditch it for a stronger one, not use it your entire life, noob
Source: kirin@monads.online, January 14, 2021 on Mastodon

And who are you?



slido.com :

# 5500276

Setting the scene

a landscape of images

or: "platform for open art education"
more details: https://imageplus.at

The dungeon map

a.k.a. the data model

The old data model

Some time before March 2024

May 2024

the actual changes

Quest outline

The demo app

https://github.com/jackie-ak/primary-key-migration-demo


Start your journey on main

Going solo

the tutorial level mode of questing (a.k.a. software engineering)

Once your app runs...


continue journey on feature/simple_solution

The path is blocked by a reverse migration troll?


Check out the vantage point on feature/solution_attempt_2

Do you want to take the path to your left?



slido.com :

# 5500276

Quest preparation

a.k.a. research

a few sparse trails

Slaying the monster

a.k.a. proper software engineering

hopefully?

The final boss fight


takes place on feature/actual_solution

Debriefing

a.k.a. the Q & A



slido.com :

# 5500276

Outro

Want to go on quests together?



generated with runware.ai prompt:
"An RPG party on a quest, consisting of cyber mages and security witches"