Як ви вносите зміни схеми в живу базу даних без простоїв?
Наприклад, скажімо, що у мене є база даних PostgreSQL з таблицею, що включає різні дані користувачів, такі як адреси електронної пошти тощо, які пов'язані з конкретними користувачами. Якщо я хотів би перемістити адреси електронної пошти до нової спеціалізованої таблиці, мені доведеться змінити схему, а потім перемістити дані електронної пошти в нову таблицю. Як це можна було зробити, не зупиняючи запису до оригінальної таблиці? Безумовно, поки дані записуються зі старої таблиці в нову, нові дані продовжуватимуть записуватися у стару таблицю і пропускатимуться, правда?
Я думаю, що ця проблема виникає досить часто, але я не можу знайти жодного стандартного рішення для її вирішення.
У цій статті йдеться про проблему, але я дійсно не зрозумів крок 3. Він каже написати в обидві таблиці, а потім перемістити старі дані з першої таблиці в нову. Як переконатися, що ви переносите лише старі дані?
(Я використовую PostgreSQL на Heroku .)