8
votes

Configuration du genre à PostgreSQL

Quelle est la meilleure façon de mettre en place un champ de genre dans les rails 3? J'utilise PostgreSQL.

Je l'ai actuellement en tant que chaîne, mais je me demande si ce serait plus facile (mieux?) Pour le configurer en tant qu'oeur entier. Si oui, comment cela serait-il fait? Je veux produire une descente pour cela, dont trois valeurs: "mâle", "femme", "aucune de vos affaires".

Désolé pour la question fondamentale, mais je suis curieux de simples pratiques.


0 commentaires

5 Réponses :



1
votes

Que diriez-vous d'utiliser un simple is_male: boolean champ?

ou is_female , si vous préférez.

De toute façon, nil (null) ne doit pas évaluer en vrais ou faux par défaut.


1 commentaires

C'est une solution très restrictive. Le type d'énumération natif fournit une spécificité beaucoup plus. Aussi "de toute façon, nul (null) ne doit pas évaluer en vrai ou faux par défaut." ce n'est pas vrai. Les valeurs nulelles sont évaluées à des valeurs fausses dans Ruby.



8
votes

C'est ce que sont les domaines pour: xxx

la sortie: xxx


0 commentaires

4
votes

Je suis d'accord avec Mike Jones. Enum est parfait pour cela. Enum est génial pour les petits ensembles de valeurs qui changent rarement. Le genre en est un exemple parfait. Habituellement, il vous suffit de 5: mâle, femme, intersexuelle, transgenre, inconnu. Tho beaucoup aller avec 3: mâle, femme, autre. 2 Toutefois (mâle, femme) est méchant pour ceux qui ne sont pas des hommes ou des femmes.


0 commentaires

0
votes

Très facile:

Utilisez simplement ENUM: P>

CREATE TYPE gen AS ENUM ('f', 'm');

CREATE TABLE lawyers_tb (
  ID SERIAL PRIMARY KEY,
  name VARCHAR,
  gender gen
);

INSERT INTO lawyers_tb (name, gender)
  VALUES ('Jose Luis Gonzales', 'm');


0 commentaires