Yii 1.1: Installing Yii Users and Rights

I want to share my experience when follow the wiki

First, I have successful install that modules in database MySQL.

Second, I use postgresql database and do this step by step again.

I customize the sql for modules user




CREATE TABLE tbl_profiles (

    user_id integer NOT NULL,

    lastname character varying(50) NOT NULL,

    firstname character varying(50) NOT NULL

);


CREATE TABLE tbl_profiles_fields (

    id integer NOT NULL,

    varname character varying(50) NOT NULL,

    title character varying(255) NOT NULL,

    field_type character varying(50) NOT NULL,

    field_size character varying(15) DEFAULT 0 NOT NULL,

    field_size_min character varying(15) DEFAULT 0 NOT NULL,

    required numeric(1,0) DEFAULT 0 NOT NULL,

    match character varying(255) DEFAULT ''::character varying NOT NULL,

    range character varying(255) DEFAULT ''::character varying NOT NULL,

    error_message character varying(255) DEFAULT ''::character varying NOT NULL,

    other_validator character varying(5000) DEFAULT ''::character varying NOT NULL,

    "default" character varying(255) DEFAULT ''::character varying NOT NULL,

    widget character varying(255) DEFAULT ''::character varying NOT NULL,

    widgetparams character varying(255) DEFAULT ''::character varying NOT NULL,

    "position" numeric(3,0) DEFAULT 0 NOT NULL,

    visible numeric(1,0) DEFAULT 0 NOT NULL

);


CREATE TABLE tbl_users (

    id integer NOT NULL,

    username character varying(20) NOT NULL,

    password character varying(128) NOT NULL,

    email character varying(128) NOT NULL,

    activkey character varying(128) DEFAULT ''::character varying NOT NULL,

    create_at timestamp without time zone DEFAULT now() NOT NULL,

    lastvisit_at timestamp without time zone DEFAULT now() NOT NULL,

    superuser numeric(1,0) DEFAULT 0 NOT NULL,

    status numeric(1,0) DEFAULT 0 NOT NULL

);




After that, I get error “Table ‘DATEBASE_NAME.AuthAssignment’ doesn’t exist”

Solution

In file protected/config/main.php, specify table names as they are in your database.


'components'=>array(

    'authManager'=>array( 

            'defaultRoles'=>array('guest'),

            'class'=>'RDbAuthManager',

            'assignmentTable'=>'authassignment',

            'itemTable'=>'authitem',

            'rightsTable'=>'rights',

            'itemChildTable'=>'authitemchild',

    ), 

Hope this help.