/[drupal]/contributions/modules/autopilot/autopilot.install
ViewVC logotype

Contents of /contributions/modules/autopilot/autopilot.install

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (show annotations) (download) (as text)
Sat Aug 30 14:02:58 2008 UTC (14 months, 3 weeks ago) by souvent22
Branch: MAIN
CVS Tags: DRUPAL-5--2-0-BETA4, DRUPAL-5--2-0-BETA1, DRUPAL-5--2-0-BETA3, DRUPAL-5--2-0-BETA2, DRUPAL-5--1-4, DRUPAL-5--1-3, HEAD
Branch point for: DRUPAL-5--2
Changes since 1.2: +238 -6 lines
File MIME type: text/x-php
- Updating to the new community version of AP
1 <?php
2 // VC = Version Control
3 /**
4 * Implementation of hook_install().
5 */
6 function autopilot_install() {
7 switch ($GLOBALS['db_type']) {
8 case 'mysql':
9 case 'mysqli':
10 // Main autopilot table
11 db_query("CREATE TABLE {autopilot} (
12 apid INT,
13 uid INT,
14 name VARCHAR(255),
15 description VARCHAR(255),
16 PRIMARY KEY(apid));
17 ");
18 // ap_plans TODO: Remove this table
19 db_query("CREATE TABLE {ap_plans} (
20 apid INT,
21 bpid INT,
22 PRIMARY KEY(apid, bpid));
23 ");
24 // ap_build_plan
25 db_query("CREATE TABLE {ap_build_plan} (
26 bpid int(11) NOT NULL default '0',
27 uid int(11) default NULL,
28 lid INT,
29 bp_name varchar(255) default NULL,
30 bp_description text,
31 bp_ownership int(11) default NULL,
32 code_build_bid int(10) unsigned default NULL,
33 code_build_kcid int(10) unsigned default NULL,
34 sql_build_bid int(10) unsigned default NULL,
35 sql_build_kcid int(10) unsigned default NULL,
36 code_target_tid int(10) unsigned default NULL,
37 code_target_kcid int(10) unsigned default NULL,
38 sql_target_tid int(10) unsigned default NULL,
39 sql_target_kcid int(10) unsigned default NULL,
40 PRIMARY KEY (bpid));
41 ");
42 // ap_build_plan_steps
43 db_query("CREATE TABLE {ap_build_plan_steps} (
44 sid INT NOT NULL,
45 bpid INT NOT NULL,
46 uid INT NOT NULL,
47 step_number INT DEFAULT 0,
48 step_name VARCHAR(255),
49 step_type VARCHAR(10),
50 step_ref_id INT,
51 PRIMARY KEY(sid));
52 ");
53 // ap_bp_builds
54 db_query("CREATE TABLE {ap_bp_builds} (
55 bpid INT NOT NULL,
56 bid INT NOT NULL,
57 PRIMARY KEY(bpid, bid));
58 ");
59 // ap_bp_targets
60 db_query("CREATE TABLE {ap_bp_targets} (
61 bpid INT NOT NULL,
62 tid INT NOT NULL,
63 PRIMARY KEY(bpid, tid));
64 ");
65 // ap_bp_commands
66 db_query("CREATE TABLE {ap_bp_commands} (
67 bpid INT,
68 cid INT,
69 PRIMARY KEY(bpid, cid));
70 ");
71
72
73 // ap_build
74 db_query("CREATE TABLE {ap_build} (
75 bid INT NOT NULL,
76 rpid INT,
77 uid INT NOT NULL,
78 build_name VARCHAR(255),
79 build_description TEXT,
80 build_path VARCHAR(255),
81 build_ownership INT,
82 build_type VARCHAR(50),
83 ap_type VARCHAR(10),
84 PRIMARY KEY(bid),
85 INDEX idx_rpid(rpid));
86 ");
87
88 // ap_target
89 db_query("CREATE TABLE {ap_target} (
90 tid int(11) NOT NULL default '0',
91 chid int(11) default NULL,
92 uid int(11) default NULL,
93 kcid INT default NULL,
94 target_name varchar(255) default NULL,
95 target_description text,
96 target_wpath varchar(255) default NULL,
97 target_type varchar(255) default NULL,
98 target_ownership int(11) default NULL,
99 target_username varchar(255) default NULL,
100 target_password varchar(255) default NULL,
101 target_channel varchar(45) default NULL,
102 target_address text,
103 target_build_path text,
104 target_backup_path text,
105 target_tmp_path text,
106 target_extra text,
107 target_env text,
108 PRIMARY KEY (tid)
109 );
110 ");
111
112 // ap_command
113 db_query("CREATE TABLE {ap_command} (
114 cid INT NOT NULL,
115 uid INT NOT NULL,
116 cmd_name VARCHAR(255),
117 cmd_description TEXT,
118 cmd_cmd TEXT,
119 cmd_ownership INT,
120 PRIMARY KEY(cid));
121 ");
122
123 // ap_channel
124 db_query("CREATE TABLE {ap_channel} (
125 chid INT NOT NULL,
126 uid INT NOT NULL,
127 ch_title VARCHAR(255),
128 ch_description TEXT,
129 ch_handle VARCHAR(20),
130 PRIMARY KEY(chid));
131 ");
132
133 // ap_keychain
134 db_query("CREATE TABLE {ap_keychain} (
135 kcid INT NOT NULL,
136 uid INT NOT NULL,
137 kc_type char(10),
138 kc_title varchar(255),
139 kc_description TEXT,
140 kc_username varchar(255),
141 kc_password TEXT,
142 kc_ssh_key TEXT,
143 PRIMARY KEY(kcid));
144 ");
145
146 // ap_buildrun
147 db_query("CREATE TABLE {ap_buildrun} (
148 ap_buildrun_id INT NOT NULL PRIMARY KEY,
149 bpid INT,
150 ap_run_name VARCHAR(45),
151 ap_buildrun_data TEXT,
152 ap_process_status INT,
153 ap_run_status INT,
154 ap_run_start INT,
155 ap_run_stop INT
156 );");
157
158 // Associative Entities
159 # Build Plans
160 db_query("CREATE TABLE ap_build_plans (
161 apid INT NOT NULL,
162 bpid INT NOT NULL,
163 PRIMARY KEY (apid,bpid)
164 );");
165 # Targets
166 db_query("CREATE TABLE {ap_targets} (
167 apid INT NOT NULL,
168 tid INT NOT NULL,
169 PRIMARY KEY(apid, tid));");
170 # Builds
171 db_query("CREATE TABLE {ap_builds} (
172 apid INT NOT NULL,
173 bid INT NOT NULL,
174 PRIMARY KEY(apid, bid));");
175 # Key Chains
176 db_query("CREATE TABLE {ap_keychains} (
177 apid INT NOT NULL,
178 kcid INT NOT NULL,
179 PRIMARY KEY(apid, kcid));");
180
181 // Autopilot Logger
182 db_query("CREATE TABLE autopilot_logger (
183 autopilot_log_id int(11) NOT NULL auto_increment,
184 timestamp varchar(32) default NULL,
185 logger varchar(32) default NULL,
186 level varchar(32) default NULL,
187 message text,
188 thread varchar(32) default NULL,
189 file varchar(64) default NULL,
190 line varchar(4) default NULL,
191 PRIMARY KEY (autopilot_log_id))");
192 # Label Types
193 db_query("CREATE TABLE {ap_label_types} (
194 lid INT NOT NULL,
195 title varchar(255),
196 short_title varchar(10),
197 description TEXT,
198 PRIMARY KEY(lid)
199 )");
200 break;
201 }
202
203 // Default Target type
204 $types = array();
205 $types = array(
206 array(
207 'title' => 'Development',
208 'short_title' => 'DEV',
209 'description' => 'Development targets',
210 ),
211 array(
212 'title' => 'Quality Assurance',
213 'short_title' => 'QA',
214 'description' => 'Quality Assurance Builds',
215 ),
216 array(
217 'title' => 'Production',
218 'short_title' => 'PROD',
219 'description' => 'Production targets',
220 ),
221 );
222 foreach($types as $k => $type) {
223 $id = db_next_id("{ap_label_types}_lid");
224 db_query("INSERT INTO {ap_label_types}(lid, title, short_title, description)
225 VALUES(%d, '%s', '%s', '%s')", $id, $type['title'], $type['short_title'], $type['description']);
226 }
227
228 // Set the cipher key
229 variable_set('autopilot_cipher_key', variable_get('drupal_private_key', null));
230
231
232 }
233
234
235
236 function autpilot_uninstall() {
237 return;
238 }
239 ?>

  ViewVC Help
Powered by ViewVC 1.1.2