X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=mysql.sql;h=df34b7759f0718afe567f5db04eb937ccbff2a35;hb=e59d57b1fcf105382028dcfc0157a6ca84b0dc46;hp=a4fa84c84d7b308eb5221cf7fac88e1e480c2569;hpb=f16c4f8b2a5b9b196fdfe46f329e54c89a861f7b;p=timetracker.git diff --git a/mysql.sql b/mysql.sql index a4fa84c8..df34b775 100644 --- a/mysql.sql +++ b/mysql.sql @@ -14,7 +14,6 @@ # CREATE TABLE `tt_teams` ( `id` int(11) NOT NULL auto_increment, # team id - `timestamp` timestamp default CURRENT_TIMESTAMP, # modification timestamp `name` varchar(80) default NULL, # team name `currency` varchar(7) default NULL, # team currency symbol `decimal_mark` char(1) NOT NULL default '.', # separator in decimals @@ -33,6 +32,12 @@ CREATE TABLE `tt_teams` ( `workday_minutes` smallint(4) default 480, # number of work minutes in a regular working day `custom_logo` tinyint(4) default 0, # whether to use a custom logo or not `config` text default NULL, # miscellaneous team configuration settings + `created` datetime default NULL, # creation timestamp + `created_ip` varchar(45) default NULL, # creator ip + `created_by` int(11) default NULL, # creator user_id + `modified` datetime default NULL, # modification timestamp + `modified_ip` varchar(45) default NULL, # modifier ip + `modified_by` int(11) default NULL, # modifier user_id `status` tinyint(4) default 1, # team status PRIMARY KEY (`id`) ); @@ -66,7 +71,7 @@ create unique index role_idx on tt_roles(team_id, rank, status); # Insert site-wide roles - site administrator and top manager. INSERT INTO `tt_roles` (`team_id`, `name`, `rank`, `rights`) VALUES (0, 'Site administrator', 1024, 'administer_site'); -INSERT INTO `tt_roles` (`team_id`, `name`, `rank`, `rights`) VALUES (0, 'Top manager', 512, 'track_own_time,track_own_expenses,view_own_reports,view_own_charts,view_own_invoices,manage_own_settings,view_users,track_time,track_expenses,view_reports,view_charts,override_punch_mode,override_own_punch_mode,override_date_lock,swap_roles,approve_timesheets,manage_users,manage_projects,manage_tasks,manage_custom_fields,manage_clients,manage_invoices,manage_features,manage_basic_settings,manage_advanced_settings,manage_roles,export_data,manage_subgroups'); +INSERT INTO `tt_roles` (`team_id`, `name`, `rank`, `rights`) VALUES (0, 'Top manager', 512, 'track_own_time,track_own_expenses,view_own_reports,view_own_charts,view_own_invoices,manage_own_settings,view_users,track_time,track_expenses,view_reports,view_charts,override_punch_mode,override_own_punch_mode,override_date_lock,override_own_date_lock,swap_roles,approve_timesheets,manage_users,manage_projects,manage_tasks,manage_custom_fields,manage_clients,manage_invoices,manage_features,manage_basic_settings,manage_advanced_settings,manage_roles,export_data,manage_subgroups'); # @@ -74,16 +79,22 @@ INSERT INTO `tt_roles` (`team_id`, `name`, `rank`, `rights`) VALUES (0, 'Top man # CREATE TABLE `tt_users` ( `id` int(11) NOT NULL auto_increment, # user id - `timestamp` timestamp default CURRENT_TIMESTAMP, # modification timestamp `login` varchar(50) COLLATE utf8_bin NOT NULL, # user login `password` varchar(50) default NULL, # password hash `name` varchar(100) default NULL, # user name `team_id` int(11) NOT NULL, # team id - `role` int(11) default 4, # user role ("manager", "co-manager", "client", or "user") - `role_id` int(11) default NULL, # future replacement of role + `role_id` int(11) default NULL, # role id `client_id` int(11) default NULL, # client id for "client" user role `rate` float(6,2) NOT NULL default '0.00', # default hourly rate `email` varchar(100) default NULL, # user email + `created` datetime default NULL, # creation timestamp + `created_ip` varchar(45) default NULL, # creator ip + `created_by` int(11) default NULL, # creator user_id (null for self) + `modified` datetime default NULL, # modification timestamp + `modified_ip` varchar(45) default NULL, # modifier ip + `modified_by` int(11) default NULL, # modifier user_id + `accessed` datetime default NULL, # last access timestamp + `accessed_ip` varchar(45) default NULL, # last access ip `status` tinyint(4) default 1, # user status PRIMARY KEY (`id`) ); @@ -93,7 +104,7 @@ create unique index login_idx on tt_users(login, status); # Create admin account with password 'secret'. Admin is a superuser, who can create teams. DELETE from `tt_users` WHERE login = 'admin'; -INSERT INTO `tt_users` (`login`, `password`, `name`, `team_id`, `role`, `role_id`) VALUES ('admin', md5('secret'), 'Admin', '0', '1024', (select id from tt_roles where rank = 1024)); +INSERT INTO `tt_users` (`login`, `password`, `name`, `team_id`, `role_id`) VALUES ('admin', md5('secret'), 'Admin', '0', (select id from tt_roles where rank = 1024)); # @@ -164,7 +175,6 @@ create index task_idx on tt_project_task_binds(task_id); # CREATE TABLE `tt_log` ( `id` bigint NOT NULL auto_increment, # time record id - `timestamp` timestamp default CURRENT_TIMESTAMP, # modification timestamp `user_id` int(11) NOT NULL, # user id `date` date NOT NULL, # date the record is for `start` time default NULL, # record start time (for example, 09:00) @@ -176,6 +186,12 @@ CREATE TABLE `tt_log` ( `comment` text, # user provided comment for time record `billable` tinyint(4) default 0, # whether the record is billable or not `paid` tinyint(4) default 0, # whether the record is paid + `created` datetime default NULL, # creation timestamp + `created_ip` varchar(45) default NULL, # creator ip + `created_by` int(11) default NULL, # creator user_id + `modified` datetime default NULL, # modification timestamp + `modified_ip` varchar(45) default NULL, # modifier ip + `modified_by` int(11) default NULL, # modifier user_id `status` tinyint(4) default 1, # time record status PRIMARY KEY (`id`) ); @@ -210,7 +226,7 @@ create unique index name_idx on tt_invoices(team_id, name, status); # Structure for table tt_tmp_refs. Used for reset password mechanism. # CREATE TABLE `tt_tmp_refs` ( - `timestamp` timestamp default CURRENT_TIMESTAMP, # creation timestamp + `created` datetime default NULL, # creation timestamp `ref` char(32) NOT NULL default '', # unique reference for user, used in urls `user_id` int(11) NOT NULL # user id ); @@ -238,6 +254,7 @@ CREATE TABLE `tt_fav_reports` ( `show_client` tinyint(4) NOT NULL default 0, # whether to show client column `show_invoice` tinyint(4) NOT NULL default 0, # whether to show invoice column `show_paid` tinyint(4) NOT NULL default 0, # whether to show paid column + `show_ip` tinyint(4) NOT NULL default 0, # whether to show ip column `show_project` tinyint(4) NOT NULL default 0, # whether to show project column `show_start` tinyint(4) NOT NULL default 0, # whether to show start field `show_duration` tinyint(4) NOT NULL default 0, # whether to show duration field @@ -364,16 +381,22 @@ CREATE TABLE `tt_custom_field_log` ( # This table lists expense items. # CREATE TABLE `tt_expense_items` ( - `id` bigint NOT NULL auto_increment, # expense item id - `date` date NOT NULL, # date the record is for - `user_id` int(11) NOT NULL, # user id the expense item is reported by - `client_id` int(11) default NULL, # client id - `project_id` int(11) default NULL, # project id - `name` text NOT NULL, # expense item name (what is an expense for) - `cost` decimal(10,2) default '0.00', # item cost (including taxes, etc.) - `invoice_id` int(11) default NULL, # invoice id - `paid` tinyint(4) default 0, # whether the item is paid - `status` tinyint(4) default 1, # item status + `id` bigint NOT NULL auto_increment, # expense item id + `date` date NOT NULL, # date the record is for + `user_id` int(11) NOT NULL, # user id the expense item is reported by + `client_id` int(11) default NULL, # client id + `project_id` int(11) default NULL, # project id + `name` text NOT NULL, # expense item name (what is an expense for) + `cost` decimal(10,2) default '0.00', # item cost (including taxes, etc.) + `invoice_id` int(11) default NULL, # invoice id + `paid` tinyint(4) default 0, # whether the item is paid + `created` datetime default NULL, # creation timestamp + `created_ip` varchar(45) default NULL, # creator ip + `created_by` int(11) default NULL, # creator user_id + `modified` datetime default NULL, # modification timestamp + `modified_ip` varchar(45) default NULL, # modifier ip + `modified_by` int(11) default NULL, # modifier user_id + `status` tinyint(4) default 1, # item status PRIMARY KEY (`id`) ); @@ -422,9 +445,9 @@ ALTER TABLE `tt_monthly_quotas` CREATE TABLE `tt_site_config` ( `param_name` varchar(32) NOT NULL, # parameter name `param_value` text default NULL, # parameter value - `created` datetime default NULL, # creation time - `updated` datetime default NULL, # modification time + `created` datetime default NULL, # creation timestamp + `modified` datetime default NULL, # modification timestamp PRIMARY KEY (`param_name`) ); -INSERT INTO `tt_site_config` (`param_name`, `param_value`, `created`) VALUES ('version_db', '1.17.48', now()); # TODO: change when structure changes. +INSERT INTO `tt_site_config` (`param_name`, `param_value`, `created`) VALUES ('version_db', '1.17.67', now()); # TODO: change when structure changes.