Oracle
 sql >> база данни >  >> RDS >> Oracle

Как трябва да мигрирам DDL промени от една среда в друга?

Виждал съм не-знам-колко-много начини, опитващи се да се справят с това и в крайна сметка мисля, че трябва просто да поддържате ръчни скриптове.

Сега не е задължително да пишете сами. В MSSQL, докато правите промяна, има малък бутон за генериране на скрипт, който ще излъчи SQL скрипт за промяната, която правите. Знам, че говорите за Oracle и минаха няколко години, откакто работих с техния GUI, но мога само да си представя, че имат същата функция.

Въпреки това, не можете да се измъкнете от ръчната работа със скриптове. Ще имате много проблеми с вече съществуващи данни, като стойности по подразбиране за нови колони или как да обработвате данни за преименувана/изтрита/преместена колона. Това е само част от анализа при работа със схема на база данни във времето, от която не можете да се измъкнете. Ако се опитате да направите това с напълно автоматизирано решение, данните ви ще се объркат рано или късно.

Единственото нещо, което бих препоръчал, само за да направя живота ви малко по-лесен, е да се уверите, че отделяте промените в схемата от промените в кода. Разликата е, че промените в схемата на таблици и колони трябва да се изпълняват точно веднъж и никога повече и следователно трябва да бъдат версионирани като индивидуални скриптове за промяна. Въпреки това, промените в кода, като съхранени процедури, функции и дори изгледи, могат (и трябва) да се изпълняват отново и отново и могат да бъдат управлявани като всеки друг кодов файл. Най-добрият подход към това, който съм виждал, беше, когато имахме всички процедури/функции/изгледи във VSS и нашият процес на изграждане щеше да изпусне всички и да ги създаде отново по време на всяка актуализация. Това е същата идея като да направите повторно компилиране на вашия C#/Java/който и да е код, защото гарантира, че всичко винаги е актуално.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle 11g ado свързващи низове за ODBC (не OLEDB), използвайки excel VBA 64 бита (DSN Less и tnsnames)

  2. Вмъкнете, ако не съществува Oracle

  3. Как да вмъкна/актуализирам по-голям размер на данни в таблиците на Oracle?

  4. Копиране на ред в същата таблица, без да се налага да въвеждате 50+ имена на колони (докато се променят 2 колони)

  5. Как да редактирам BLOB (съдържащи JSON) в Oracle SQL Developer?