Tolik lidí se snaží dělat takové věci (rozdílná schémata). Můj názor je
- Zdrojový kód jde do nástroje pro správu verzí (Subversion, CSV, GIT, Perforce ...). Zacházejte s tím, jako by to byl kód Java nebo C, ve skutečnosti se to neliší. Měli byste mít instalační proces, který to zkontroluje a aplikuje na databázi.
- DDL JE ZDROJOVÝ KÓD. Jde také do nástroje pro správu verzí.
- Data jsou šedá oblast – vyhledávací tabulky by možná měly být v nástroji pro správu verzí. Data generovaná aplikací by rozhodně neměla.
Způsob, jakým dělám věci v těchto dnech, je vytvářet migrační skripty podobné migracím Ruby on Rails. Vložte svůj DDL do skriptů a spusťte je pro přesun databáze mezi verzemi. Seskupte změny pro vydání do jednoho souboru nebo sady souborů. Pak máte skript, který přesune vaši aplikaci z verze x do verze y.
Jedna věc, kterou už nikdy nedělám (a dělal jsem to, dokud jsem se lépe nenaučil), je použití jakýchkoli nástrojů GUI k vytváření databázových objektů v mém vývojovém prostředí. Pište skripty DDL od 1. dne - budete je stejně potřebovat k propagaci kódu pro testování, produkci atd. Viděl jsem tolik lidí, kteří používají GUI k vytvoření všech objektů a přijde čas vydání, že se pokusí vytvořit scrabble. skripty pro správné vytvoření/migraci schématu, které často nejsou testovány a selhávají!
Každý bude mít své vlastní preference, jak to udělat, ale viděl jsem mnoho z toho, že se to udělalo špatně v průběhu let, které formovaly mé názory výše.