⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 schema.pm

📁 bugzilla
💻 PM
📖 第 1 页 / 共 5 页
字号:
        ],    },    # Authentication    # --------------    logincookies => {        FIELDS => [            cookie   => {TYPE => 'varchar(16)', NOTNULL => 1,                         PRIMARYKEY => 1},            userid   => {TYPE => 'INT3', NOTNULL => 1},            ipaddr   => {TYPE => 'varchar(40)', NOTNULL => 1},            lastused => {TYPE => 'DATETIME', NOTNULL => 1},        ],        INDEXES => [            logincookies_lastused_idx => ['lastused'],        ],    },    # "tokens" stores the tokens users receive when a password or email    #     change is requested.  Tokens provide an extra measure of security    #     for these changes.    tokens => {        FIELDS => [            userid    => {TYPE => 'INT3'},            issuedate => {TYPE => 'DATETIME', NOTNULL => 1} ,            token     => {TYPE => 'varchar(16)', NOTNULL => 1,                          PRIMARYKEY => 1},            tokentype => {TYPE => 'varchar(8)', NOTNULL => 1} ,            eventdata => {TYPE => 'TINYTEXT'},        ],        INDEXES => [            tokens_userid_idx => ['userid'],        ],    },    # GROUPS    # ------    groups => {        FIELDS => [            id           => {TYPE => 'MEDIUMSERIAL', NOTNULL => 1,                             PRIMARYKEY => 1},            name         => {TYPE => 'varchar(255)', NOTNULL => 1},            description  => {TYPE => 'TEXT', NOTNULL => 1},            isbuggroup   => {TYPE => 'BOOLEAN', NOTNULL => 1},            userregexp   => {TYPE => 'TINYTEXT', NOTNULL => 1,                             DEFAULT => "''"},            isactive     => {TYPE => 'BOOLEAN', NOTNULL => 1,                             DEFAULT => 'TRUE'},        ],        INDEXES => [            groups_name_idx => {FIELDS => ['name'], TYPE => 'UNIQUE'},        ],    },    group_control_map => {        FIELDS => [            group_id      => {TYPE => 'INT3', NOTNULL => 1},            product_id    => {TYPE => 'INT3', NOTNULL => 1},            entry         => {TYPE => 'BOOLEAN', NOTNULL => 1},            membercontrol => {TYPE => 'BOOLEAN', NOTNULL => 1},            othercontrol  => {TYPE => 'BOOLEAN', NOTNULL => 1},            canedit       => {TYPE => 'BOOLEAN', NOTNULL => 1},            editcomponents => {TYPE => 'BOOLEAN', NOTNULL => 1,                               DEFAULT => 'FALSE'},            editbugs      => {TYPE => 'BOOLEAN', NOTNULL => 1,                              DEFAULT => 'FALSE'},            canconfirm    => {TYPE => 'BOOLEAN', NOTNULL => 1,                              DEFAULT => 'FALSE'},        ],        INDEXES => [            group_control_map_product_id_idx =>            {FIELDS => [qw(product_id group_id)], TYPE => 'UNIQUE'},            group_control_map_group_id_idx    => ['group_id'],        ],    },    # "user_group_map" determines the groups that a user belongs to    # directly or due to regexp and which groups can be blessed by a user.    #    # grant_type:    # if GRANT_DIRECT - record was explicitly granted    # if GRANT_DERIVED - record was derived from expanding a group hierarchy    # if GRANT_REGEXP - record was created by evaluating a regexp    user_group_map => {        FIELDS => [            user_id    => {TYPE => 'INT3', NOTNULL => 1},            group_id   => {TYPE => 'INT3', NOTNULL => 1},            isbless    => {TYPE => 'BOOLEAN', NOTNULL => 1,                           DEFAULT => 'FALSE'},            grant_type => {TYPE => 'INT1', NOTNULL => 1,                           DEFAULT => GRANT_DIRECT},        ],        INDEXES => [            user_group_map_user_id_idx =>                {FIELDS => [qw(user_id group_id grant_type isbless)],                 TYPE => 'UNIQUE'},        ],    },    # This table determines which groups are made a member of another    # group, given the ability to bless another group, or given    # visibility to another groups existence and membership    # grant_type:    # if GROUP_MEMBERSHIP - member groups are made members of grantor    # if GROUP_BLESS - member groups may grant membership in grantor    # if GROUP_VISIBLE - member groups may see grantor group    group_group_map => {        FIELDS => [            member_id  => {TYPE => 'INT3', NOTNULL => 1},            grantor_id => {TYPE => 'INT3', NOTNULL => 1},            grant_type => {TYPE => 'INT1', NOTNULL => 1,                           DEFAULT => GROUP_MEMBERSHIP},        ],        INDEXES => [            group_group_map_member_id_idx =>                {FIELDS => [qw(member_id grantor_id grant_type)],                 TYPE => 'UNIQUE'},        ],    },    # This table determines which groups a user must be a member of    # in order to see a bug.    bug_group_map => {        FIELDS => [            bug_id   => {TYPE => 'INT3', NOTNULL => 1},            group_id => {TYPE => 'INT3', NOTNULL => 1},        ],        INDEXES => [            bug_group_map_bug_id_idx   =>                {FIELDS => [qw(bug_id group_id)], TYPE => 'UNIQUE'},            bug_group_map_group_id_idx => ['group_id'],        ],    },    # This table determines which groups a user must be a member of    # in order to see a named query somebody else shares.    namedquery_group_map => {        FIELDS => [            namedquery_id => {TYPE => 'INT3', NOTNULL => 1},            group_id      => {TYPE => 'INT3', NOTNULL => 1},        ],        INDEXES => [            namedquery_group_map_namedquery_id_idx   =>                {FIELDS => [qw(namedquery_id)], TYPE => 'UNIQUE'},            namedquery_group_map_group_id_idx => ['group_id'],        ],    },    category_group_map => {        FIELDS => [            category_id => {TYPE => 'INT2', NOTNULL => 1},            group_id    => {TYPE => 'INT3', NOTNULL => 1},        ],        INDEXES => [            category_group_map_category_id_idx =>                {FIELDS => [qw(category_id group_id)], TYPE => 'UNIQUE'},        ],    },    # PRODUCTS    # --------    classifications => {        FIELDS => [            id          => {TYPE => 'SMALLSERIAL', NOTNULL => 1,                            PRIMARYKEY => 1},            name        => {TYPE => 'varchar(64)', NOTNULL => 1},            description => {TYPE => 'MEDIUMTEXT'},            sortkey     => {TYPE => 'INT2', NOTNULL => 1, DEFAULT => '0'},        ],        INDEXES => [            classifications_name_idx => {FIELDS => ['name'],                                           TYPE => 'UNIQUE'},        ],    },    products => {        FIELDS => [            id                => {TYPE => 'SMALLSERIAL', NOTNULL => 1,                                  PRIMARYKEY => 1},            name              => {TYPE => 'varchar(64)', NOTNULL => 1},            classification_id => {TYPE => 'INT2', NOTNULL => 1,                                  DEFAULT => '1'},            description       => {TYPE => 'MEDIUMTEXT'},            milestoneurl      => {TYPE => 'TINYTEXT', NOTNULL => 1,                                  DEFAULT => "''"},            disallownew       => {TYPE => 'BOOLEAN', NOTNULL => 1,                                  DEFAULT => 0},            votesperuser      => {TYPE => 'INT2', NOTNULL => 1,                                  DEFAULT => 0},            maxvotesperbug    => {TYPE => 'INT2', NOTNULL => 1,                                  DEFAULT => '10000'},            votestoconfirm    => {TYPE => 'INT2', NOTNULL => 1,                                  DEFAULT => 0},            defaultmilestone  => {TYPE => 'varchar(20)',                                  NOTNULL => 1, DEFAULT => "'---'"},        ],        INDEXES => [            products_name_idx   => {FIELDS => ['name'],                                    TYPE => 'UNIQUE'},        ],    },    components => {        FIELDS => [            id               => {TYPE => 'SMALLSERIAL', NOTNULL => 1,                                 PRIMARYKEY => 1},            name             => {TYPE => 'varchar(64)', NOTNULL => 1},            product_id       => {TYPE => 'INT2', NOTNULL => 1},            initialowner     => {TYPE => 'INT3', NOTNULL => 1},            initialqacontact => {TYPE => 'INT3'},            description      => {TYPE => 'MEDIUMTEXT', NOTNULL => 1},        ],        INDEXES => [            components_product_id_idx => {FIELDS => [qw(product_id name)],                                          TYPE => 'UNIQUE'},            components_name_idx   => ['name'],        ],    },    # CHARTS    # ------    series => {        FIELDS => [            series_id   => {TYPE => 'MEDIUMSERIAL', NOTNULL => 1,                            PRIMARYKEY => 1},            creator     => {TYPE => 'INT3'},            category    => {TYPE => 'INT2', NOTNULL => 1},            subcategory => {TYPE => 'INT2', NOTNULL => 1},            name        => {TYPE => 'varchar(64)', NOTNULL => 1},            frequency   => {TYPE => 'INT2', NOTNULL => 1},            last_viewed => {TYPE => 'DATETIME'},            query       => {TYPE => 'MEDIUMTEXT', NOTNULL => 1},            is_public   => {TYPE => 'BOOLEAN', NOTNULL => 1,                            DEFAULT => 'FALSE'},        ],        INDEXES => [            series_creator_idx  =>                {FIELDS => [qw(creator category subcategory name)],                 TYPE => 'UNIQUE'},        ],    },    series_data => {        FIELDS => [            series_id    => {TYPE => 'INT3', NOTNULL => 1},            series_date  => {TYPE => 'DATETIME', NOTNULL => 1},            series_value => {TYPE => 'INT3', NOTNULL => 1},        ],        INDEXES => [            series_data_series_id_idx =>                {FIELDS => [qw(series_id series_date)],                 TYPE => 'UNIQUE'},        ],    },    series_categories => {        FIELDS => [            id   => {TYPE => 'SMALLSERIAL', NOTNULL => 1,                     PRIMARYKEY => 1},            name => {TYPE => 'varchar(64)', NOTNULL => 1},        ],        INDEXES => [            series_categories_name_idx => {FIELDS => ['name'],                                           TYPE => 'UNIQUE'},        ],    },    # WHINE SYSTEM    # ------------    whine_queries => {        FIELDS => [            id            => {TYPE => 'MEDIUMSERIAL', PRIMARYKEY => 1,                              NOTNULL => 1},            eventid       => {TYPE => 'INT3', NOTNULL => 1},            query_name    => {TYPE => 'varchar(64)', NOTNULL => 1,                              DEFAULT => "''"},            sortkey       => {TYPE => 'INT2', NOTNULL => 1,                              DEFAULT => '0'},            onemailperbug => {TYPE => 'BOOLEAN', NOTNULL => 1,                              DEFAULT => 'FALSE'},            title         => {TYPE => 'varchar(128)', NOTNULL => 1,                              DEFAULT => "''"},        ],        INDEXES => [            whine_queries_eventid_idx => ['eventid'],        ],    },    whine_schedules => {        FIELDS => [            id          => {TYPE => 'MEDIUMSERIAL', PRIMARYKEY => 1,                            NOTNULL => 1},            eventid     => {TYPE => 'INT3', NOTNULL => 1},            run_day     => {TYPE => 'varchar(32)'},            run_time    => {TYPE => 'varchar(32)'},            run_next    => {TYPE => 'DATETIME'},            mailto      => {TYPE => 'INT3', NOTNULL => 1},            mailto_type => {TYPE => 'INT2', NOTNULL => 1, DEFAULT => '0'},        ],        INDEXES => [            whine_schedules_run_next_idx => ['run_next'],            whine_schedules_eventid_idx  => ['eventid'],        ],    },    whine_events => {        FIELDS => [            id           => {TYPE => 'MEDIUMSERIAL', PRIMARYKEY => 1,                             NOTNULL => 1},            owner_userid => {TYPE => 'INT3', NOTNULL => 1},            subject      => {TYPE => 'varchar(128)'},            body         => {TYPE => 'MEDIUMTEXT'},        ],    },    # QUIPS    # -----    quips => {        FIELDS => [            quipid   => {TYPE => 'MEDIUMSERIAL', NOTNULL => 1,                         PRIMARYKEY => 1},            userid   => {TYPE => 'INT3'},            quip     => {TYPE => 'TEXT', NOTNULL => 1},            approved => {TYPE => 'BOOLEAN', NOTNULL => 1,                         DEFAULT => 'TRUE'},        ],    },    # SETTINGS    # --------    # setting          - each global setting will have exactly one entry    #                    in this table.    # setting_value    - stores the list of acceptable values for each    #                    setting, and a sort index that controls the order    #                    in which the values are displayed.    # profile_setting  - If a user has chosen to use a value other than the    #                    global default for a given setting, it will be    #                    stored in this table. Note: even if a setting is    #                    later changed so is_enabled = false, the stored    #                    value will remain in case it is ever enabled again.    #    setting => {        FIELDS => [            name          => {TYPE => 'varchar(32)', NOTNULL => 1,                              PRIMARYKEY => 1},             default_value => {TYPE => 'varchar(32)', NOTNULL => 1},            is_enabled    => {TYPE => 'BOOLEAN', NOTNULL => 1,                              DEFAULT => 'TRUE'},            subclass      => {TYPE => 'varchar(32)'},        ],    },    setting_value => {        FIELDS => [

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -