mysql.sql 5.1 KB
Newer Older
D
Initial  
David Heinemeier Hansson 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
CREATE TABLE `accounts` (
  `id` int(11) NOT NULL auto_increment,
  `firm_id` int(11) default NULL,
  `credit_limit` int(5) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=InnoDB;

CREATE TABLE `companies` (
  `id` int(11) NOT NULL auto_increment,
  `type` varchar(50) default NULL,
  `ruby_type` varchar(50) default NULL,
  `firm_id` int(11) default NULL,
  `name` varchar(50) default NULL,
  `client_of` int(11) default NULL,
  `rating` int(11) default NULL default 1,
  PRIMARY KEY  (`id`)
) TYPE=InnoDB;


CREATE TABLE `topics` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(255) default NULL,
  `author_name` varchar(255) default NULL,
  `author_email_address` varchar(255) default NULL,
  `written_on` datetime default NULL,
26
  `bonus_time` time default NULL,
D
Initial  
David Heinemeier Hansson 已提交
27 28
  `last_read` date default NULL,
  `content` text,
29
  `approved` tinyint default 1,
D
Initial  
David Heinemeier Hansson 已提交
30 31 32 33 34 35 36 37 38
  `replies_count` int(11) default 0,
  `parent_id` int(11) default NULL,
  `type` varchar(50) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=InnoDB;

CREATE TABLE `developers` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) default NULL,
39
  `salary` int(11) default 70000,
40 41
  `created_at` datetime default NULL,
  `updated_at` datetime default NULL,
D
Initial  
David Heinemeier Hansson 已提交
42
  PRIMARY KEY  (`id`)
43
) TYPE=InnoDB;
D
Initial  
David Heinemeier Hansson 已提交
44 45 46 47

CREATE TABLE `projects` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) default NULL,
48
  `type` VARCHAR(255) NOT NULL,
D
Initial  
David Heinemeier Hansson 已提交
49
  PRIMARY KEY  (`id`)
50
) TYPE=InnoDB;
D
Initial  
David Heinemeier Hansson 已提交
51 52 53 54

CREATE TABLE `developers_projects` (
  `developer_id` int(11) NOT NULL,
  `project_id` int(11) NOT NULL,
55 56
  `joined_on` date default NULL,
  `access_level` smallint default 1
57
) TYPE=InnoDB;
D
Initial  
David Heinemeier Hansson 已提交
58

59 60 61 62 63 64 65 66
CREATE TABLE `orders` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) default NULL,
  `billing_customer_id` int(11) default NULL,
  `shipping_customer_id` int(11) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=InnoDB;

D
Initial  
David Heinemeier Hansson 已提交
67 68 69 70 71 72 73
CREATE TABLE `customers` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) default NULL,
  `balance` int(6) default 0,
  `address_street` varchar(100) default NULL,
  `address_city` varchar(100) default NULL,
  `address_country` varchar(100) default NULL,
74
  `gps_location` varchar(100) default NULL,
D
Initial  
David Heinemeier Hansson 已提交
75
  PRIMARY KEY  (`id`)
76
) TYPE=InnoDB;
D
Initial  
David Heinemeier Hansson 已提交
77 78 79 80 81

CREATE TABLE `movies` (
  `movieid` int(11) NOT NULL auto_increment,
  `name` varchar(100) default NULL,
   PRIMARY KEY  (`movieid`)
82
) TYPE=InnoDB;
D
Initial  
David Heinemeier Hansson 已提交
83 84 85 86 87

CREATE TABLE `subscribers` (
  `nick` varchar(100) NOT NULL,
  `name` varchar(100) default NULL,
  PRIMARY KEY  (`nick`)
88
) TYPE=InnoDB;
D
Initial  
David Heinemeier Hansson 已提交
89 90 91 92 93

CREATE TABLE `booleantests` (
  `id` int(11) NOT NULL auto_increment,
  `value` integer default NULL,
  PRIMARY KEY (`id`)
94
) TYPE=InnoDB;
D
Initial  
David Heinemeier Hansson 已提交
95 96 97 98 99

CREATE TABLE `auto_id_tests` (
  `auto_id` int(11) NOT NULL auto_increment,
  `value` integer default NULL,
  PRIMARY KEY (`auto_id`)
100
) TYPE=InnoDB;
D
Initial  
David Heinemeier Hansson 已提交
101 102 103 104 105 106 107 108 109 110 111

CREATE TABLE `entrants` (
  `id` INTEGER NOT NULL PRIMARY KEY,
  `name` VARCHAR(255) NOT NULL,
  `course_id` INTEGER NOT NULL
);

CREATE TABLE `colnametests` (
  `id` int(11) NOT NULL auto_increment,
  `references` int(11) NOT NULL,
  PRIMARY KEY (`id`)
112
) TYPE=InnoDB;
113 114 115 116 117 118 119

CREATE TABLE `mixins` (
  `id` int(11) NOT NULL auto_increment,
  `parent_id` int(11) default NULL,
  `pos` int(11) default NULL,
  `created_at` datetime default NULL,
  `updated_at` datetime default NULL,
120 121 122 123
  `lft` int(11) default NULL,
  `rgt` int(11) default NULL,
  `root_id` int(11) default NULL,
  `type` varchar(40) default NULL,
124
  PRIMARY KEY  (`id`)
125
) TYPE=InnoDB;
126 127 128 129 130

CREATE TABLE `people` (
  `id` INTEGER NOT NULL PRIMARY KEY,
  `first_name` VARCHAR(40) NOT NULL,
  `lock_version` INTEGER NOT NULL DEFAULT 0
131
) TYPE=InnoDB;
132 133 134 135 136

CREATE TABLE `binaries` (
  `id` int(11) NOT NULL auto_increment,
  `data` mediumblob,
  PRIMARY KEY  (`id`)
137
) TYPE=InnoDB;
138 139 140

CREATE TABLE `computers` (
  `id` INTEGER NOT NULL PRIMARY KEY,
141 142
  `developer` INTEGER NOT NULL,
  `extendedWarranty` INTEGER NOT NULL
143
) TYPE=InnoDB;
144

D
David Heinemeier Hansson 已提交
145 146
CREATE TABLE `posts` (
  `id` INTEGER NOT NULL PRIMARY KEY,
147
  `author_id` INTEGER,
D
David Heinemeier Hansson 已提交
148
  `title` VARCHAR(255) NOT NULL,
149 150
  `body` TEXT NOT NULL,
  `type` VARCHAR(255) NOT NULL
D
David Heinemeier Hansson 已提交
151 152 153 154 155
) TYPE=InnoDB;

CREATE TABLE `comments` (
  `id` INTEGER NOT NULL PRIMARY KEY,
  `post_id` INTEGER NOT NULL,
156 157
  `body` TEXT NOT NULL,
  `type` VARCHAR(255) NOT NULL
D
David Heinemeier Hansson 已提交
158 159 160 161 162 163 164
) TYPE=InnoDB;

CREATE TABLE `authors` (
  `id` INTEGER NOT NULL PRIMARY KEY,
  `name` VARCHAR(255) NOT NULL
) TYPE=InnoDB;

165 166 167 168 169
CREATE TABLE `tasks` (
  `id` int(11) NOT NULL auto_increment,
  `starting` datetime NOT NULL default '0000-00-00 00:00:00',
  `ending` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`)
170
) TYPE=InnoDB;
171 172 173

CREATE TABLE `categories` (
  `id` int(11) NOT NULL auto_increment,
D
David Heinemeier Hansson 已提交
174
  `name` VARCHAR(255) NOT NULL,
175
  `type` VARCHAR(255) NOT NULL,
D
David Heinemeier Hansson 已提交
176
  PRIMARY KEY  (`id`)
177
) TYPE=InnoDB;
178 179 180 181

CREATE TABLE `categories_posts` (
  `category_id` int(11) NOT NULL,
  `post_id` int(11) NOT NULL
182
) TYPE=InnoDB;
183 184 185

CREATE TABLE `fk_test_has_pk` (
  `id` INTEGER NOT NULL PRIMARY KEY
186
) TYPE=InnoDB;
187 188 189 190 191 192

CREATE TABLE `fk_test_has_fk` (
  `id`    INTEGER NOT NULL PRIMARY KEY,
  `fk_id` INTEGER NOT NULL,

  FOREIGN KEY (`fk_id`) REFERENCES `fk_test_has_pk`(`id`)
193
) TYPE=InnoDB;
194 195 196 197 198 199


CREATE TABLE `keyboards` (
  `key_number` int(11) NOT NULL auto_increment primary key,
  `name` varchar(50) default NULL
);