2012-08-14 12 views
5

Czy jest coś złego z zalegających logiczną pole do nil zamiast false z migracji ActiveRecord do użytku z PostgreSQL?Migracja Railsy: czy można używać wartości "zero" jako wartości domyślnej dla pola logicznego?

Lubię, jak to daje mały kawałek dodatkowy data-, czy nie, że pole zostało oznaczone jako prawda lub fałsz jeszcze.

+1

zależy czy rzeczywiście ma swoje pole trzy stany (prawda, fałsz, nieznane) lub tylko dwa (prawda, fałsz). –

+0

Właściwie nie zależy od trzeciego "nieznanego" stanu, tylko interesujących danych, które mogę sprawdzić. Sposób sprawdzania vals boolean nie jest odrzucany przez użycie zer. – bevanb

+3

Nie rób tego, jeśli go nie potrzebujesz. Moją zasadą jest, aby wszystko NIE było NULL, chyba że mam dobry powód, dla którego dopuszczam NULL, w ten sposób wszystko idzie łatwiej. –

Odpowiedz

7

nie ma nic, aby zatrzymać cię od korzystania nil na Boolean - ale ja osobiście lubię moje wartości logiczne, aby być prawdziwe lub fałszywe, Odkryłem, że mając zero może prowadzić do pewnego brzydkiego kodu

+1

kodu Ugly rzeczywiście. Jeśli potrzebujesz trzeciej, 'nil' /' unknown', wartości, to naprawdę powinieneś używać enumu lub maszyny stanów, które myślę. W przeciwnym razie po prostu walczysz z rzeczami i spoczywa na tobie obowiązek upewnienia się, że sprawdzasz wartość 'nil' ** wszędzie **. –

Powiązane problemy