在PostgreSQL中设置性别

tva*_*nt2 6 database postgresql ruby-on-rails-3

在Rails 3中设置性别字段的最佳方法是什么?我正在使用PostgreSQL.

我现在把它作为一个字符串,但我想知道它是否更容易(更好?)将其设置为整数.如果是这样,怎么办呢?我想为它制作一个下拉列表,其中包括三个值:"男性","女性","没有您的业务".

对不起基本问题,但我很好奇,简单,最好的做法.

wil*_*ser 6

这是域名的用途:

DROP SCHEMA tmp CASCADE;
CREATE SCHEMA tmp;
SET search_path=tmp;

CREATE DOMAIN gender CHAR(1)
    CHECK (value IN ( 'F' , 'M' ) )
    ;

CREATE TABLE persons
    ( pname VARCHAR
    , gend tmp.gender
    );
INSERT INTO persons( pname, gend) VALUES ('Alice', 'F') ,('Bob', 'M') ;
INSERT INTO persons( pname) VALUES ('HAL') ;
INSERT INTO persons( pname, gend) VALUES ('Maurice', 'Q') ;

SELECT * FROM persons;
Run Code Online (Sandbox Code Playgroud)

输出:

DROP SCHEMA
CREATE SCHEMA
SET
CREATE DOMAIN
CREATE TABLE
INSERT 0 2
INSERT 0 1
ERROR:  value for domain gender violates check constraint "gender_check"
 pname | gend 
-------+------
 Alice | F
 Bob   | M
 HAL   | 
(3 rows)
Run Code Online (Sandbox Code Playgroud)