Menu / szukaj

Testy jednostkowe SQL – raport pokrycia kodu

Pisanie testów jednostkowych do kodu jest dziś powszechną praktyką, aczkolwiek nie dla wszystkich języków. Pisząc strony WWW, aplikacje desktopowe czy też mobilne przywykliśmy do tego, że tworzymy testy jednostkowe sprawdzające kod aplikacji. Natomiast nie robimy tego dla kodu napisanego w bazie danych. Po części dlatego, że używamy narzędzi ORM, które generują ten kod za nas. I wtedy nie ma rzeczywiście takiej potrzeby.

Inaczej wygląda sytuacja w momencie, gdy sami piszemy kod SQLa. Wtedy kod ten powinien zostać przetestowany na takich samych zasadach jak normalny kod produkcyjny. Jeśli nasza baza stoi na Microsoft SQL możemy do tego wykorzystać bibliotekę tSQLt. Bibliotekę tę używa się bardzo prosto. Pozwala ona fakeować widoki, tabele, funkcje, jak również procedury składowane. Osoby bardziej zainteresowane tematem odsyłam na stronę biblioteki. Czytaj dalej

Reset indeksu tabeli w SQL

Dziś potrzebowałem zrobić bardzo nietypową operację – zresetować indeks w tabeli w MS SQLu. I szczerze mówiąc nie sądziłem, że robi się to tak prosto. W tym celu należy użyć komendy:

DBCC CHECKIDENT (nazwa_tabeli, reseed, ostatni_indeks)

W komendzie podajemy nazwę tabeli, w której chcemy zresetować indeks oraz numer ostatniego indeksu w tabeli. Jeżeli chce się aby automatycznie generowane numery zaczynały się od 1 to należy użyć tego polecenia w następujący sposób:

DBCC CHECKIDENT (nazwa_tabeli, reseed, 0)

Należy pamiętać, że użycie tej komendy może spowodować błąd, w sytuacji, gdy ustalimy pierwszą wartość poniżej wartości użytych już w tabeli.