drop table if exists todo_listitems;
create table todo_listitems(
	todo_listitem_id serial not null,
	user_id integer references users( user_id ),
	todo_name varchar(128),
	todo_title varchar(255),
	todo_url varchar(255),
	is_mandatory boolean default false,
	is_done boolean default false,
	constraint todo_listitems_todo_listitem_id_pkey primary key( todo_listitem_id )
);

comment on table todo_listitems is 'storage of todo list items';
comment on column todo_listitems.todo_listitem_id is 'unique id of table';
comment on column todo_listitems.user_id is 'reference to users table';
comment on column todo_listitems.todo_name is 'name of the todo type';
comment on column todo_listitems.todo_title is 'title of the todo';
comment on column todo_listitems.todo_url is 'url of the todo';
comment on column todo_listitems.is_mandatory is 'mandatory flag of the todo';
comment on column todo_listitems.is_done is 'done flag of the todo';


create index todo_listitems_user_id_ind on todo_listitems( user_id );
comment on index todo_listitems_user_id_ind is 'reference index to users table';
create index todo_listitems_todo_name_ind on todo_listitems( todo_name );
comment on index todo_listitems_todo_name_ind is 'todo name index';
create index todo_listitems_is_mandatory_ind on todo_listitems( is_mandatory );
comment on index todo_listitems_is_mandatory_ind is 'mandatory name index';
create index todo_listitems_is_done_ind on todo_listitems( is_done );
