Как администратор БД, я всегда ненавижу, когда люди используют столбцы в качестве флагов, было бы много лишних столбцов.
Если это все тот же тип (например, тип учетной записи), я бы поступил так, как предлагает первый ответ (включая использование текста, а не цифр).
Если вам, с другой стороны, это нужно для отдельных флагов или нескольких типов (но с ограниченным числом), я бы на самом деле пошел на двоичный расчет.
То есть, иметь один столбец в таблице, представляющий все флаги, а затем назначить каждому флагу номер.
ех.
FLAGS = {:master => 1, :standard => 2, :guest => 4, :power => 8,
:another_flag => 32, :yet_another_flag => 64}
def is_master?
self.flags & FLAGS[:master]
end
def is_standard?
self.flags & FLAGS[:standard]
end
Требуется немного больше работы при установке значений, но не загромождает таблицу большим количеством столбцов, используемых только для флагов.