X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=mysql.sql;h=ebe59936a5b489b4d939b3048a1ab88f4d067093;hb=5f1b7a5bed3563565e28a5bf851298d3ed7df8c7;hp=e5a9b8e5fffac364821ecbcceb57b56a904af8d9;hpb=6b1d36d49ecb821678978322df9754ce23bb0359;p=timetracker.git diff --git a/mysql.sql b/mysql.sql index e5a9b8e5..ebe59936 100644 --- a/mysql.sql +++ b/mysql.sql @@ -13,27 +13,32 @@ # This table stores settings common to all team members such as language, week start day, etc. # 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 - `lang` varchar(10) NOT NULL default 'en', # language - `date_format` varchar(20) NOT NULL default '%Y-%m-%d', # date format - `time_format` varchar(20) NOT NULL default '%H:%M', # time format - `week_start` smallint(2) NOT NULL default 0, # Week start day, 0 == Sunday. - `tracking_mode` smallint(2) NOT NULL default 1, # tracking mode ("time", "projects" or "projects and tasks") - `project_required` smallint(2) NOT NULL default 0, # whether a project selection is required or optional - `task_required` smallint(2) NOT NULL default 0, # whether a task selection is required or optional - `record_type` smallint(2) NOT NULL default 0, # time record type ("start and finish", "duration", or both) - `bcc_email` varchar(100) default NULL, # bcc email to copy all reports to - `plugins` varchar(255) default NULL, # a list of enabled plugins for team - `lock_spec` varchar(255) default NULL, # Cron specification for record locking, - # for example: "0 10 * * 1" for "weekly on Mon at 10:00". - `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 - `status` tinyint(4) default 1, # team status + `id` int(11) NOT NULL auto_increment, # team id + `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 + `lang` varchar(10) NOT NULL default 'en', # language + `date_format` varchar(20) NOT NULL default '%Y-%m-%d', # date format + `time_format` varchar(20) NOT NULL default '%H:%M', # time format + `week_start` smallint(2) NOT NULL default 0, # Week start day, 0 == Sunday. + `tracking_mode` smallint(2) NOT NULL default 1, # tracking mode ("time", "projects" or "projects and tasks") + `project_required` smallint(2) NOT NULL default 0, # whether a project selection is required or optional + `task_required` smallint(2) NOT NULL default 0, # whether a task selection is required or optional + `record_type` smallint(2) NOT NULL default 0, # time record type ("start and finish", "duration", or both) + `bcc_email` varchar(100) default NULL, # bcc email to copy all reports to + `plugins` varchar(255) default NULL, # a list of enabled plugins for team + `lock_spec` varchar(255) default NULL, # Cron specification for record locking, + # for example: "0 10 * * 1" for "weekly on Mon at 10:00". + `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`) ); @@ -74,7 +79,6 @@ 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 @@ -83,6 +87,14 @@ CREATE TABLE `tt_users` ( `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`) ); @@ -163,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) @@ -175,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`) ); @@ -209,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 ); @@ -237,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 @@ -363,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`) ); @@ -421,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.51', 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.