|
|
|
Миграция на новую структуру таблиц
|
|||
|---|---|---|---|
|
#18+
Вобщем все вроде как тривиально и просто. Ан нет. Пишу потихоньку специальный дамп миграции, который в конечном итоге должен будет отработать на боевой БД. И столкнулся с некоторым непониманием (моим) как это сделать правильно. Теперь более конкретно. Есть две сущности: проекты и шаблоны. Старая структура: все проекты могли использовать любой из шаблонов. Но в конкретный момент естественно только один. Там две таблицы: Код: plaintext 1. Новая структура: у каждого проекта должен быть свой собственный набор шаблонов. Активным может быть только один шаблон из «личного» набора. Теперь у нас три таблицы: Код: plaintext 1. 2. Некоторые проекты используют одинаковые шаблоны. Первым шагом я «размножил» шаблоны и перебил им автоинкрементные айдишники. Однако, временно сохранил old_id, поэтому он тут выше указан в скобочках, т.к. после всех манипуляций я удалю это поле через ALTER TABLE. Вот запрос втыкающий «размноженный» результат в новую табулю шаблонов: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Ну а теперь никак не сообразу как запилить еще два шага: 2) вставка проектов в новую таблицу проектов с корректной привязкой к шаблону. 3) вставка в таблицу связи проекты-шаблоны. Вот так выглядит попытка тестовой выборки: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Естессно выдает он полную хрень. Как правильно то запилить? Вроде как иду то правильным путем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2015, 19:33:38 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1833516]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
18ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 331ms |

| 0 / 0 |
