Лучший способ изменить первичный ключ для таблицы в существующем проекте?
У меня есть существующий проект Django с некоторыми важными данными в базе данных.
Но я хотел бы изменить первичный ключ главной таблицы.
Как мне это сделать? (Я новичок в Django, поэтому любой совет новичка будет оценен по достоинству).
Я могу сделать это очень ручным способом:
создание новой таблицы, как я хотел
создание скрипта python, импортирующего библиотеку моделей и мои конкретные модели
создайте цикл для копирования всех записей из старой модели в новую
.проделайте то же самое со связанными моделями, которые полагаются на старый первичный ключ (обновление отношения через новый первичный ключ)
удалить старые таблицы
переименовать новые обновленные таблицы в соответствии со старыми таблицами
Правилен ли мой подход? Или есть более простой способ?
Несколько вопросов:
Я знаю, что могу создать пользовательские "файлы миграции", но мне кажется, что делать это вручную с помощью Django, создавая файлы миграции, будет проще. это нормально?
будут ли старые таблицы соединений (полагающиеся на неизменные ключи) автоматически распознавать новую переименованную таблицу? Или что-то сломается, если я удалю старую таблицу?
если делать вышеописанное, нужно ли убрать "on delete cascade", чтобы избежать удаления связанных записей, когда я удаляю и переименовываю таблицы с первичными ключами?
Есть предложения?