trac-upgrade-and-migration

JSON

rev 29  |  foxhop  |  1374159725000  |  JSON

rev 28
rev 29
255255
256ticket_custom256ticket_custom
t257 KEEP - ticket custom fields, might have garbage in thist257 DROP - ticket custom fields, lots of garbage from old plugins. We will be gener
 >ating a migration from subticket to new childticket plugin that will insert into
 > this table.
258258
259ticket_template_store259ticket_template_store
rev 28  |  foxhop  |  1373649825000  |  JSON

rev 27
rev 28
295.. code-block:: bash295.. code-block:: bash
296296
t297 cp trac_subtickets.csv trac_custom_ticket_children.sqlt297 cp trac_subtickets.csv trac_ticket_children.sql
rev 27  |  foxhop  |  1373649719000  |  JSON

rev 26
rev 27
287.. code-block:: vim287.. code-block:: vim
288288
t289 %s/,/,parent,#/gt289 %s/,/,"parent","#/g
290 %s/$/);/g290 %s/$/");/g
291 %s/^/INSERT INTO "ticket_custom" VALUES(/g291 %s/^/INSERT INTO "ticket_custom" VALUES(/g
292292
rev 26  |  foxhop  |  1373649017000  |  JSON

rev 25
rev 26
295.. code-block:: bash295.. code-block:: bash
296296
t297 cp trac_subtickets.csv trac_custom_ticket_children.sqt297 cp trac_subtickets.csv trac_custom_ticket_children.sql
rev 25  |  foxhop  |  1373649004000  |  JSON

rev 24
rev 25
290 %s/$/);/g290 %s/$/);/g
291 %s/^/INSERT INTO "ticket_custom" VALUES(/g291 %s/^/INSERT INTO "ticket_custom" VALUES(/g
tt292 
293rename
294 
295.. code-block:: bash
296 
297 cp trac_subtickets.csv trac_custom_ticket_children.sq
rev 24  |  foxhop  |  1373648915000  |  JSON

rev 23
rev 24
275.. code-block:: bash275.. code-block:: bash
276276
n277 sqlite3 trac.db ".dump subtickets" > trac_subtickets.sqln277 sqlite3 trac.db
278 cp trac_subtickets.sql trac_subtickets_migrate.sql278 sqlite> .mode csv
279 sqlite> .out trac_subtickets.csv
280 sqlite> SELECT child,parent FROM subtickets;
281 sqlite> .exit
279 vim trac_subtickets_migrate.sql282 vim trac_subtickets.csv
280283
n281run the following transformation search and replace regexn284 
285run the following search and replace transformations:
282286
283.. code-block:: vim287.. code-block:: vim
284288
n285 :%s/"subtickets"/"ticket_custom"/gn
286 
287delete the following lines:
288 
289.. code-block:: sql
290 
291 CREATE TABLE subtickets (
292     parent integer,
293     child integer,
294     UNIQUE (parent,child)
295 );
296 
297run the following transformation search and replace regex
298 
299.. code-block:: vim
300 
301 %s/,/,parent,#/g289 %s/,/,parent,#/g
tt290 %s/$/);/g
291 %s/^/INSERT INTO "ticket_custom" VALUES(/g
rev 23  |  foxhop  |  1373647158000  |  JSON

rev 22
rev 23
294     UNIQUE (parent,child)294     UNIQUE (parent,child)
295 );295 );
tt296 
297run the following transformation search and replace regex
298 
299.. code-block:: vim
300 
301 %s/,/,parent,#/g
rev 22  |  foxhop  |  1373646955000  |  JSON

rev 21
rev 22
284284
285 :%s/"subtickets"/"ticket_custom"/g285 :%s/"subtickets"/"ticket_custom"/g
tt286 
287delete the following lines:
288 
289.. code-block:: sql
290 
291 CREATE TABLE subtickets (
292     parent integer,
293     child integer,
294     UNIQUE (parent,child)
295 );
rev 21  |  foxhop  |  1373646862000  |  JSON

rev 20
rev 21
271==================================================271==================================================
272272
tt273dump out the data and edit with vim
274 
275.. code-block:: bash
276 
277 sqlite3 trac.db ".dump subtickets" > trac_subtickets.sql
278 cp trac_subtickets.sql trac_subtickets_migrate.sql
279 vim trac_subtickets_migrate.sql
280 
281run the following transformation search and replace regex
282 
273.. code-block:: vim283.. code-block:: vim
274284
rev 20  |  foxhop  |  1373646751000  |  JSON

rev 19
rev 20
268268
269269
tt270subtickets migration to child ticket plugin
271==================================================
272 
273.. code-block:: vim
274 
275 :%s/"subtickets"/"ticket_custom"/g
rev 19  |  foxhop  |  1373457312000  |  JSON

rev 18
rev 19
188    cat trac_attachment.sql | sqlite3 trac.db188    cat trac_attachment.sql | sqlite3 trac.db
189    cat trac_milestone.sql | sqlite3 trac.db189    cat trac_milestone.sql | sqlite3 trac.db
t190    scat trac_pastes.sql | sqlite3 trac.dbt190    cat trac_pastes.sql | sqlite3 trac.db
191191
192#. copy files/attachments directory from hot-copy to new Trac project.  Make sur192#. copy files/attachments directory from hot-copy to new Trac project.  Make sur
>e owner:group is trac:trac:>e owner:group is trac:trac:
rev 18  |  foxhop  |  1373457167000  |  JSON

rev 17
rev 18
167    sqlite3 trac.db ".dump attachment" > trac_attachment.sql167    sqlite3 trac.db ".dump attachment" > trac_attachment.sql
168    sqlite3 trac.db ".dump milestone" > trac_milestone.sql168    sqlite3 trac.db ".dump milestone" > trac_milestone.sql
nn169    sqlite3 trac.db ".dump pastes" > trac_pastes.sql
169170
170#. copy \*.sql to the new trac project db directory171#. copy \*.sql to the new trac project db directory
187    cat trac_attachment.sql | sqlite3 trac.db188    cat trac_attachment.sql | sqlite3 trac.db
188    cat trac_milestone.sql | sqlite3 trac.db189    cat trac_milestone.sql | sqlite3 trac.db
tt190    scat trac_pastes.sql | sqlite3 trac.db
189191
190#. copy files/attachments directory from hot-copy to new Trac project.  Make sur192#. copy files/attachments directory from hot-copy to new Trac project.  Make sur
>e owner:group is trac:trac:>e owner:group is trac:trac:
rev 17  |  foxhop  |  1373456612000  |  JSON

rev 16
rev 17
188    cat trac_milestone.sql | sqlite3 trac.db188    cat trac_milestone.sql | sqlite3 trac.db
189189
tt190#. copy files/attachments directory from hot-copy to new Trac project.  Make sur
 >e owner:group is trac:trac:
191 
192   .. code-block:: bash
193   
194    chown -R trac:trac files/attachments
195 
190196
191trac database tables and explanations197trac database tables and explanations
rev 16  |  foxhop  |  1373388035000  |  JSON

rev 15
rev 16
256256
257wiki257wiki
t258 DROP - wiki pages, we do not plan to migrate t258 DROP - discuss, we could migrate everything or we could migrate some pages  
259259
260260
rev 15  |  foxhop  |  1373387974000  |  JSON

rev 14
rev 15
214214
215pastes215pastes
t216 DROP - we don't need to migrate old pastes  t216 KEEP - we need to install paste plugin
217217
218permission218permission
rev 14  |  foxhop  |  1373386107000  |  JSON

rev 13
rev 14
208208
209milestone209milestone
n210 KEEP -  We have 7 records that need to be moved, Trac defaults to Milestone 1, n210 KEEP -  we have 7 records that need to be moved, Trac defaults to Milestone 1, 
>2, 3, 4>2, 3, 4
211211
212node_change212node_change
n213 KEEP - n213 DROP - empty 
214214
215pastes215pastes
n216 KEEP - n216 DROP - we don't need to migrate old pastes  
217 
217permission218permission
n218 KEEP - n219 DROP - we don't need to migrate old permissions. we need a plan to place in con
 >fig management
220 
219report221report
n220 KEEP - n222 DROP - we don't need old reports. we might want to back them up as examples 
223 
221repository224repository
n222 KEEP - n225 DROP - empty 
226 
223revision227revision
n224 KEEP - n228 DROP - empty 
229 
225session230session
n226 KEEP - n231 DROP - session data for when people logged in and what they did to the trac sys
 >tem
232 
227session_attribute233session_attribute
n228 KEEP - n234 DROP - session data for when people logged in and what they did to the trac sys
 >tem
235 
229subtickets236subtickets
n230 KEEP - n237 KEEP - we might need to transform this data to work with new subticket plugin
238 
231system239system
n232 KEEP - n240 DROP - version numbers of plugins and modules
241 
233ticket242ticket
n234 KEEP - n243 KEEP - tickets 
244 
235ticket_change245ticket_change
n236 KEEP - n246 KEEP - ticket history
247 
237ticket_custom248ticket_custom
n238 KEEP - n249 KEEP - ticket custom fields, might have garbage in this
250 
239ticket_template_store251ticket_template_store
n240 KEEP - n252 KEEP - ticket templates which auto fill body message with text, discuss this
253 
241version254version
t242 DROP - contains  t255 DROP - empty
256 
243wiki257wiki
244 DROP - wiki pages, we do not plan to migrate 258 DROP - wiki pages, we do not plan to migrate 
rev 13  |  foxhop  |  1373385292000  |  JSON

rev 12
rev 13
199199
200cache200cache
n201 KEEP - n201 DROP - only record: 901198563|1|trac.wiki.api.WikiSystem.pages 
202 202 
203component203component
204 DROP - we plan to create new components via config management 204 DROP - we plan to create new components via config management 
nn205 
205enum206enum
206 DROP - we plan to create new enums (priority, severity, ticket_type, resolution207 DROP - we plan to create new enums (priority, severity, ticket_type, resolution
>) via config management >) via config management 
nn208 
207milestone209milestone
n208 KEEP - n210 KEEP -  We have 7 records that need to be moved, Trac defaults to Milestone 1, 
 >2, 3, 4
211 
209node_change212node_change
210 KEEP - 213 KEEP - 
tt214 
211pastes215pastes
212 KEEP - 216 KEEP - 
rev 12  |  foxhop  |  1373384664000  |  JSON

rev 11
rev 12
193193
194attachment194attachment
nn195 KEEP - meta data for attachment files.  Also need underlying attachment directo
 >ry.
196 
195auth_cookie197auth_cookie
nn198 DROP - cookie session data for logged in users
199 
196cache200cache
nn201 KEEP - 
202 
197component203component
nn204 DROP - we plan to create new components via config management 
198enum205enum
nn206 DROP - we plan to create new enums (priority, severity, ticket_type, resolution
 >) via config management 
199milestone207milestone
nn208 KEEP - 
200node_change209node_change
nn210 KEEP - 
201pastes211pastes
nn212 KEEP - 
202permission213permission
nn214 KEEP - 
203report215report
nn216 KEEP - 
204repository217repository
nn218 KEEP - 
205revision219revision
nn220 KEEP - 
206session221session
nn222 KEEP - 
207session_attribute223session_attribute
nn224 KEEP - 
208subtickets225subtickets
nn226 KEEP - 
209system227system
nn228 KEEP - 
210ticket229ticket
nn230 KEEP - 
211ticket_change231ticket_change
nn232 KEEP - 
212ticket_custom233ticket_custom
nn234 KEEP - 
213ticket_template_store235ticket_template_store
nn236 KEEP - 
214version237version
nn238 DROP - contains  
215wiki239wiki
tt240 DROP - wiki pages, we do not plan to migrate 
216241
217242
rev 11  |  foxhop  |  1373383949000  |  JSON

rev 10
rev 11
188    cat trac_milestone.sql | sqlite3 trac.db188    cat trac_milestone.sql | sqlite3 trac.db
189189
tt190 
191trac database tables and explanations
192===============================================
193 
194attachment
195auth_cookie
196cache
197component
198enum
199milestone
200node_change
201pastes
202permission
203report
204repository
205revision
206session
207session_attribute
208subtickets
209system
210ticket
211ticket_change
212ticket_custom
213ticket_template_store
214version
215wiki
216 
217 
218 
rev 10  |  foxhop  |  1373308947000  |  JSON

rev 9
rev 10
166    sqlite3 trac.db ".dump ticket_template_store" > trac_ticket_template_store.s166    sqlite3 trac.db ".dump ticket_template_store" > trac_ticket_template_store.s
>ql>ql
167    sqlite3 trac.db ".dump attachment" > trac_attachment.sql167    sqlite3 trac.db ".dump attachment" > trac_attachment.sql
nn168    sqlite3 trac.db ".dump milestone" > trac_milestone.sql
168169
169#. copy \*.sql to the new trac project db directory170#. copy \*.sql to the new trac project db directory
185    cat trac_ticket_template_store.sql | sqlite3 trac.db186    cat trac_ticket_template_store.sql | sqlite3 trac.db
186    cat trac_attachment.sql | sqlite3 trac.db187    cat trac_attachment.sql | sqlite3 trac.db
tt188    cat trac_milestone.sql | sqlite3 trac.db
187189
rev 9  |  foxhop  |  1373034088000  |  JSON

rev 8
rev 9
6We need to perform the following tasks:6We need to perform the following tasks:
77
nn8* Migrate Trac project to a new host
8* Upgrade from Trac==0.12.2 to Trac==1.0.19* Upgrade from Trac==0.12.2 to Trac==1.0.1
t9* Migrate Trac project to a new hostt
10* Migrate tickets from old Trac project to new Trac project10* Migrate tickets from old Trac project to new Trac project
1111
rev 8  |  foxhop  |  1373028370000  |  JSON

rev 7
rev 8
f1Trac Upgrade and Migrationf1Trac Upgrade and Migration
2#############################2#############################
tt3 
4.. contents::
35
4We need to perform the following tasks:6We need to perform the following tasks:
rev 7  |  foxhop  |  1373028197000  |  JSON

rev 6
rev 7
147147
148dump ticket tables from hot-copy and import to new project148dump ticket tables from hot-copy and import to new project
t149++++++++++++++++++===============================================t149====================================================================
150150
151#. move to db directory:151#. move to db directory:
rev 6  |  foxhop  |  1373028182000  |  JSON

rev 5
rev 6
147147
148dump ticket tables from hot-copy and import to new project148dump ticket tables from hot-copy and import to new project
t149------------------------------------------------------------------------t149++++++++++++++++++===============================================
150150
151#. move to db directory:151#. move to db directory:
rev 5  |  foxhop  |  1373028161000  |  JSON

rev 4
rev 5
146    tracd --port=8800 --env-parent-dir ~/trac/146    tracd --port=8800 --env-parent-dir ~/trac/
147147
t148dump ticket tables from hot-copyt148dump ticket tables from hot-copy and import to new project
149------------------------------------------------149------------------------------------------------------------------------
150150
151#. move to db directory:151#. move to db directory:
rev 4  |  foxhop  |  1373028080000  |  JSON

rev 3
rev 4
51    tar -czvf trac-2013-07-2.tar.gz /cars/archive/trac-hot-copy-backup51    tar -czvf trac-2013-07-2.tar.gz /cars/archive/trac-hot-copy-backup
5252
n53#. on your workstation scp tar archive from grail:n53#. on your workstation scp tar archive:
5454
55   .. code-block:: bash55   .. code-block:: bash
58    mkdir trac58    mkdir trac
59    cd trac59    cd trac
t60    scp grail:/cars/archive/trac-2013-07-2.tar.gz .t60    scp old-server:/cars/archive/trac-2013-07-2.tar.gz .
6161
62#. unarchive:62#. unarchive:
rev 3  |  foxhop  |  1373028028000  |  JSON

rev 2
rev 3
3232
33  - manual migration of open tickets  33  - manual migration of open tickets  
t34  - simply as: chmod 000 pass_filet34  - simple as: chmod 000 pass_file
35  - operation headache, confusing to have two tracs35  - operation headache, confusing to have two tracs
36  36  
rev 2  |  foxhop  |  1373027800000  |  JSON

rev 1
rev 2
39===============================================39===============================================
4040
n41#. create hot-copy of trac::n41#. create hot-copy of trac:
42 
43   .. code-block:: bash
4244
43    trac-admin /path/to/projenv hotcopy /path/to/backupdir45    trac-admin /path/to/projenv hotcopy /path/to/backupdir
4446
n45#. create a tar archive of hot backup::n47#. create a tar archive of hot backup:
48 
49   .. code-block:: bash
4650
47    tar -czvf trac-2013-07-2.tar.gz /cars/archive/trac-hot-copy-backup51    tar -czvf trac-2013-07-2.tar.gz /cars/archive/trac-hot-copy-backup
4852
n49#. on your workstation scp tar archive from grail::n53#. on your workstation scp tar archive from grail:
54 
55   .. code-block:: bash
5056
51    cd ~57    cd ~
54    scp grail:/cars/archive/trac-2013-07-2.tar.gz .60    scp grail:/cars/archive/trac-2013-07-2.tar.gz .
5561
n56#. unarchive::n62#. unarchive:
63 
64   .. code-block:: bash
5765
58    tar xzvf trac-2013-07-2.tar.gz66    tar xzvf trac-2013-07-2.tar.gz
5967
n60#. create virtualenv::n68#. create virtualenv:
69 
70   .. code-block:: bash
61   71   
62    cd trac-hot-copy-backup72    cd trac-hot-copy-backup
64    source .env/bin/activate74    source .env/bin/activate
6575
n66#. install Genshi==0.6 because Trac==0.12.2 breaks with Genshi==0.7::n76#. install Genshi==0.6 because Trac==0.12.2 breaks with Genshi==0.7:
77 
78   .. code-block:: bash
6779
68    pip install Genshi==0.680    pip install Genshi==0.6
6981
n70#. install Trac==0.12.2::n82#. install Trac==0.12.2:
83 
84   .. code-block:: bash
7185
72    pip install Trac==0.12.286    pip install Trac==0.12.2
7387
n74#. test setup::n88#. test setup:
89 
90   .. code-block:: bash
7591
76    tracd --port=8800 --env-parent-dir ~/trac/92    tracd --port=8800 --env-parent-dir ~/trac/
83#. bring hot-copy tracd server offline99#. bring hot-copy tracd server offline
84100
n85#. Update the Trac Code to Trac==1.0::n101#. Update the Trac Code to Trac==1.0:
102 
103   .. code-block:: bash
86    104    
87    # optional, but these directories are no longer used 105    # optional, but these directories are no longer used 
89    pip install Trac==1.0107    pip install Trac==1.0
90108
n91#. Upgrade the Trac environment::n109#. Upgrade the Trac environment:
110 
111   .. code-block:: bash
92112
93    trac-admin ~/trac/trac-hot-copy-backup upgrade113    trac-admin ~/trac/trac-hot-copy-backup upgrade
94    trac-admin ~/trac/trac-hot-copy-backup wiki upgrade114    trac-admin ~/trac/trac-hot-copy-backup wiki upgrade
95115
n96#. test setup::n116#. test setup:
117 
118   .. code-block:: bash
97119
98    tracd --port=8800 --env-parent-dir ~/trac/120    tracd --port=8800 --env-parent-dir ~/trac/
103#. bring hot-copy tracd server offline125#. bring hot-copy tracd server offline
104126
n105#. Update the Trac Code to Trac==1.0.1::n127#. Update the Trac Code to Trac==1.0.1:
128 
129   .. code-block:: bash
106130
107    # optional, but these directories are no longer used 131    # optional, but these directories are no longer used 
109    pip install Trac==1.0.1133    pip install Trac==1.0.1
110134
n111#. Upgrade the Trac environment::n135#. Upgrade the Trac environment:
136 
137   .. code-block:: bash
112138
113    trac-admin ~/trac/trac-hot-copy-backup upgrade139    trac-admin ~/trac/trac-hot-copy-backup upgrade
114    trac-admin ~/trac/trac-hot-copy-backup wiki upgrade140    trac-admin ~/trac/trac-hot-copy-backup wiki upgrade
115141
n116#. test setup::n142#. test setup:
143 
144   .. code-block:: bash
117145
118    tracd --port=8800 --env-parent-dir ~/trac/146    tracd --port=8800 --env-parent-dir ~/trac/
121------------------------------------------------149------------------------------------------------
122150
n123#. move to db directory::n151#. move to db directory:
152 
153   .. code-block:: bash
124154
125    cd ~/trac/trac-hot-copy-backup/db155    cd ~/trac/trac-hot-copy-backup/db
126156
n127#. dump each table related to tickets::n157#. dump each table related to tickets:
158 
159   .. code-block:: bash
128160
129    sqlite3 trac.db ".dump ticket" > trac_ticket.sql161    sqlite3 trac.db ".dump ticket" > trac_ticket.sql
135#. copy \*.sql to the new trac project db directory167#. copy \*.sql to the new trac project db directory
136168
n137#. become trac user::n169#. become trac user:
170 
171   .. code-block:: bash
138172
139    sudo su - trac173    sudo su - trac
140    bash174    bash
141175
t142#. import the tables::t176#. import the tables:
177 
178   .. code-block:: bash
143179
144    cat trac_ticket.sql | sqlite3 trac.db180    cat trac_ticket.sql | sqlite3 trac.db
rev 1  |  foxhop  |  1373027440000  |  JSON

empty
rev 1
tt1Trac Upgrade and Migration
2#############################
3 
4We need to perform the following tasks:
5 
6* Upgrade from Trac==0.12.2 to Trac==1.0.1
7* Migrate Trac project to a new host
8* Migrate tickets from old Trac project to new Trac project
9 
10 
11Possible solutions to migrate tickets from old Trac project to new Trac project:
12 
13* Manual ticket migration
14 
15  - allows for intelligent migration of tickets
16  - allows for important ticket proceedures to be properly documented in sphinx
17  - time consuming
18 
19* Export old, import new
20 
21  - moves ALL data to new project (even garbage)
22  - ticket numbers persist 
23  - NOT time consuming
24 
25* Research and develop a 'clone to new system' plugin
26 
27  - allows for intelligent migration of tickets
28  - allows for important tasks to be documented in Ops Handbook
29  - time consuming (plugin development + manual migration) 
30 
31* Put old Trac into read-only, leave it running till it dies?
32 
33  - manual migration of open tickets  
34  - simply as: chmod 000 pass_file
35  - operation headache, confusing to have two tracs
36  
37 
38setup development env from hot-copy of prod
39===============================================
40 
41#. create hot-copy of trac::
42 
43    trac-admin /path/to/projenv hotcopy /path/to/backupdir
44 
45#. create a tar archive of hot backup::
46 
47    tar -czvf trac-2013-07-2.tar.gz /cars/archive/trac-hot-copy-backup
48 
49#. on your workstation scp tar archive from grail::
50 
51    cd ~
52    mkdir trac
53    cd trac
54    scp grail:/cars/archive/trac-2013-07-2.tar.gz .
55 
56#. unarchive::
57 
58    tar xzvf trac-2013-07-2.tar.gz
59 
60#. create virtualenv::
61   
62    cd trac-hot-copy-backup
63    virtualenv .env
64    source .env/bin/activate
65 
66#. install Genshi==0.6 because Trac==0.12.2 breaks with Genshi==0.7::
67 
68    pip install Genshi==0.6
69 
70#. install Trac==0.12.2::
71 
72    pip install Trac==0.12.2
73 
74#. test setup::
75 
76    tracd --port=8800 --env-parent-dir ~/trac/
77    
78#. open browser to http://127.0.0.1:8800
79 
80upgrade from Trac==0.12.2 to Trac==1.0.0
81===============================================
82 
83#. bring hot-copy tracd server offline
84 
85#. Update the Trac Code to Trac==1.0::
86    
87    # optional, but these directories are no longer used 
88    #rm -rf ~/trac/trac-hot-copy-backup/htdocs/ ~/trac/trac-hot-copy-backup/temp
 >lates/
89    pip install Trac==1.0
90 
91#. Upgrade the Trac environment::
92 
93    trac-admin ~/trac/trac-hot-copy-backup upgrade
94    trac-admin ~/trac/trac-hot-copy-backup wiki upgrade
95 
96#. test setup::
97 
98    tracd --port=8800 --env-parent-dir ~/trac/
99 
100upgrade again from Trac==1.0.0 to Trac==1.0.1
101===============================================
102 
103#. bring hot-copy tracd server offline
104 
105#. Update the Trac Code to Trac==1.0.1::
106 
107    # optional, but these directories are no longer used 
108    #rm -rf ~/trac/trac-hot-copy-backup/htdocs/ ~/trac/trac-hot-copy-backup/temp
 >lates/
109    pip install Trac==1.0.1
110 
111#. Upgrade the Trac environment::
112 
113    trac-admin ~/trac/trac-hot-copy-backup upgrade
114    trac-admin ~/trac/trac-hot-copy-backup wiki upgrade
115 
116#. test setup::
117 
118    tracd --port=8800 --env-parent-dir ~/trac/
119 
120dump ticket tables from hot-copy
121------------------------------------------------
122 
123#. move to db directory::
124 
125    cd ~/trac/trac-hot-copy-backup/db
126 
127#. dump each table related to tickets::
128 
129    sqlite3 trac.db ".dump ticket" > trac_ticket.sql
130    sqlite3 trac.db ".dump ticket_change" > trac_ticket_change.sql
131    sqlite3 trac.db ".dump ticket_custom" > trac_ticket_custom.sql
132    sqlite3 trac.db ".dump ticket_template_store" > trac_ticket_template_store.s
 >ql
133    sqlite3 trac.db ".dump attachment" > trac_attachment.sql
134 
135#. copy \*.sql to the new trac project db directory
136 
137#. become trac user::
138 
139    sudo su - trac
140    bash
141 
142#. import the tables::
143 
144    cat trac_ticket.sql | sqlite3 trac.db
145    cat trac_ticket_change.sql | sqlite3 trac.db
146    cat trac_ticket_custom.sql | sqlite3 trac.db
147    cat trac_ticket_template_store.sql | sqlite3 trac.db
148    cat trac_attachment.sql | sqlite3 trac.db
149