Despot:Schema2: Difference between revisions

m
no edit summary
mNo edit summary
mNo edit summary
 
Line 1: Line 1:
== Proposed Schema ==
== Proposed Schema ==
`repositories`
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `type` tinyint(3) unsigned NOT NULL,
  `root` varchar(255) NOT NULL,
  `vouchers_req` tinyint(3) unsigned NOT NULL default '2',
  `sr_req` tinyint(3) unsigned NOT NULL default '1',
  `private` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `name` (`name`,`type`)
  ENGINE=InnoDB DEFAULT CHARSET=utf8
`partitions`
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `state` enum('open','restricted','closed') NOT NULL default 'open',
  `description` text,
  `doclinks` mediumtext,
  `newsgroups` mediumtext,
  `private` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `name` (`name`),
  KEY `parent_id` (`parent_id`)
  ENGINE=InnoDB DEFAULT CHARSET=utf8
`repositories_partitions`
  `repository_id` mediumint(8) unsigned NOT NULL,
  `partition_id` mediumint(8) unsigned NOT NULL
  KEY `repository_id` (`repository_id`),
  KEY `partition_id` (`partition_id`)
  ENGINE=InnoDB DEFAULT CHARSET=utf8
`branches`
`branches`
   `id` mediumint(8) unsigned NOT NULL auto_increment,
   `id` mediumint(8) unsigned NOT NULL auto_increment,
Line 5: Line 37:
   `description` varchar(255) NULL,
   `description` varchar(255) NULL,
   PRIMARY KEY  (`id`)
   PRIMARY KEY  (`id`)
  ENGINE=InnoDB DEFAULT CHARSET=utf8


`files`
`files`
Line 14: Line 47:
   KEY `repository_id` (`repository_id`),
   KEY `repository_id` (`repository_id`),
   KEY `branch_id` (`branch_id`)
   KEY `branch_id` (`branch_id`)
  ENGINE=InnoDB DEFAULT CHARSET=utf8


`members`
`members`
Line 21: Line 55:
   UNIQUE KEY `user_id` (`user_id`,`partition_id`),
   UNIQUE KEY `user_id` (`user_id`,`partition_id`),
   KEY `class` (`class`)
   KEY `class` (`class`)
 
   ENGINE=InnoDB DEFAULT CHARSET=utf8
`partitions`
   `id` mediumint(8) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `state` enum('open','restricted','closed') NOT NULL default 'open',
  `description` text,
  `doclinks` mediumtext,
  `newsgroups` mediumtext,
  `parent_id` mediumint(8) unsigned NOT NULL default '0',
  `private` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `name` (`name`),
  KEY `parent_id` (`parent_id`)
 
`repositories`
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `type` tinyint(3) unsigned NOT NULL,
  `root` varchar(255) NOT NULL,
  `vouchers_req` tinyint(3) unsigned NOT NULL default '2',
  `sr_req` tinyint(3) unsigned NOT NULL default '1',
  `private` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `name` (`name`,`type`)


`logs` (incomplete)
`logs` (incomplete)
   <span style="color:green">`id` int(11) unsigned NOT NULL auto_increment,
   `id` int(11) unsigned NOT NULL auto_increment,
   `user_id` mediumint(8) unsigned NOT NULL,
   `user_id` mediumint(8) unsigned NOT NULL,
   `action` varchar(50) NOT NULL,
   `action` varchar(50) NOT NULL,
   `field` varchar(30) NULL,
   `field` varchar(30) NULL,
   `time` datetime NOT NULL DEFAULT NOW()
  `old_val` text,
  `new_val` text,
  `notes` text NULL,
   `time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
   PRIMARY KEY (`id`)
   PRIMARY KEY (`id`)
</span>
  ENGINE=InnoDB DEFAULT CHARSET=utf8


`restrictions`
`restrictions`
Line 59: Line 73:
   `partition_id` mediumint(8) unsigned NOT NULL,
   `partition_id` mediumint(8) unsigned NOT NULL,
   UNIQUE KEY `user_id` (`user_id`,`partition_id`)
   UNIQUE KEY `user_id` (`user_id`,`partition_id`)
  ENGINE=InnoDB DEFAULT CHARSET=utf8


`sessions`
`sessions`
Line 65: Line 80:
   `expires` int(11) default NULL,
   `expires` int(11) default NULL,
   PRIMARY KEY  (`id`)
   PRIMARY KEY  (`id`)
  ENGINE=InnoDB DEFAULT CHARSET=utf8


`syncneeded`
`syncneeded`
   `repository_id` mediumint(8) unsigned NOT NULL,
   `repository_id` mediumint(8) unsigned NOT NULL,
   `needed` tinyint(1) NOT NULL default '0'
   `needed` tinyint(1) NOT NULL default '0'
  ENGINE=InnoDB DEFAULT CHARSET=utf8


`tags` (incomplete)
`tags` (incomplete)
   <span style="color:green">`id` mediumint(8) unsigned NOT NULL auto_increment</span>,
   `id` mediumint(8) unsigned NOT NULL auto_increment</span>,
   `name` varchar(255) NOT NULL,
   `name` varchar(255) NOT NULL,  
  <span style="color:red">`partition_id` mediumint(8) unsigned NOT NULL,</span> 
   PRIMARY KEY `id`
   PRIMARY KEY `id`
  ENGINE=InnoDB DEFAULT CHARSET=utf8


`vouchers`
`vouchers`
Line 82: Line 99:
   `sr` tinyint(1) NOT NULL default '0',
   `sr` tinyint(1) NOT NULL default '0',
   KEY `user_id` (`user_id`,`partition_id`,`voucher_id`)
   KEY `user_id` (`user_id`,`partition_id`,`voucher_id`)
  ENGINE=InnoDB DEFAULT CHARSET=utf8


== Notes ==
== Notes ==
190

edits