To może być problem przy korzystaniu kontrola źródła i zautomatyzowane wdrożeń do udostępnionego środowiska programistycznego. Gdzie pracuję, mamy bardzo dużą próbkę DB na naszym poziomie rozwoju do pracy (podzbiór naszych danych produkcyjnych).
Ostatnio zrobiłem trochę pracy, aby usunąć jedną kolumnę ze stołu, a następnie dodać kilka dodatkowych na końcu. Następnie musiałem cofnąć usunięcie kolumny, więc dodałem ją ponownie na końcu, co oznacza, że tabela i wszystkie referencje są poprawne w środowisku, ale automatyczne wdrażanie kontroli kodu źródłowego nie będzie działać, ponieważ narzeka na zmianę definicji tabeli.
Prawdziwym problemem jest to, że indeksy są stół + ~ 120GB i środowisko ma tylko ~ 60GB za darmo, więc będę musiał albo:
a) Zmiana nazwy istniejących kolumn, które są w złej kolejności, dodać nowe kolumny w odpowiedniej kolejności, należy zaktualizować dane następnie upuść starych kolumn
LUB
b) zmienić nazwę tabeli, należy utworzyć nową tabelę z właściwej kolejności, włóż do nowej tabeli ze starego i usuwać od dawna, kiedy jedzie
Schemat SSMS/TFS porównuje opcję użycia tabeli temp., Ponieważ nie ma wystarczającej ilości miejsca na dysku, aby to zrobić.
Nie próbuję powiedzieć, że jest to najlepszy sposób na sprawdzenie, czy kolejność kolumn naprawdę ma znaczenie, tylko że mam scenariusz, w którym to jest problem i dzielę się opcjami, o których myślałem. aby rozwiązać ten problem
nie ma realny sposób zmienić kolejność kolumn - Chociaż SSMS będzie tam udawać jest to w rzeczywistości tworzy nową tabelę, kopiuje dane, usuwa oryginał i zmienia nazwę nowego. Powinieneś po prostu nauczyć się żyć z tym, że kolumny mogą być w dowolnej kolejności i że nie ma żadnego nieodłącznego znaczenia dla porządku. Na dłuższą metę będziesz bardziej produktywny. –
Chociaż wiele osób wskazuje, że kolejność kolumn nie powinna mieć znaczenia, myślę, że brakuje im większego obrazu. Jako deweloperzy nie możemy być jedynymi osobami, które korzystają z bazy danych. Analitycy i im podobni często muszą przeglądać dane, a kolejność kolumn może mieć dla nich duże znaczenie.Kolejność kolumn ułatwia także przeglądanie danych hierarchicznych. – webworm
Uzgodniony webworm. ale poza tym niektóre programy nie są zgodne z najlepszą praktyką. Mam aplikację korzystającą z bazy danych, która jest replikowana. aplikacja zignoruje kolumnę Rowguid dodaną do replikowanej tabeli, o ile jest to ostatnie pole w tabeli. Kolumny dodane po kolumnie Rowguid nie zachowują się poprawnie w aplikacji. Złe programowanie? oczywiście. Ale nie napisałem tego i muszę z tym żyć, dopóki poprawka nie będzie dostępna. –