Project

General

Profile

Database migrating exportimport scripts » History » Version 4

Anchi Cheng, 01/15/2021 05:39 PM

1 1 Anchi Cheng
h1. Database migrating export/import scripts
2
3
When you need to move all your data in the database to a new computer, you can
4
5
Either
6
7 2 Anchi Cheng
copy the all the database files over. See where in [[standard mysql database file locations]] (This only works well if your new computer is identical in setup.
8 1 Anchi Cheng
9
Or
10
11
# do a full [[Mysqldump_of_your_database|mysqldump]] which includes instruction on how to recreate it through mysql command and then
12
# [[Load_mysqldumped_databases|restore it]]
13
14
h2. Start fresh but keep the instruments/calibrations/settings even most recent gain/dark references and other tables that you really care.
15
16
As years goes by, the database gets too big to backup or congested with old instrument you no longer own or care.  A few scripts were written to
17
make it possible to take a clean installation and migrate from the old system the stuff you need to care over.
18
19
These are in myami/dbschema/tools.  These are not installed, so you do need a git clone myami to access it.
20
You need to know your sinedon.cfg of the system you migrate from and to.
21
22
h2. Step 1: On the old system, run these. source_database_hostname is what is in your sinedon.cfg
23
24
All output files except reference images are json files.  The name format is used for parsing in the import.
25
26
h3. export_leginon_instruments.py
27
28
*Usage* export_leginon_instruments.py source_database_hostname <hostname1,hostname2>
29
(optional hostname1, hostname2 etc are specific instrument hostname to export. default will export all)
30
*Example* python export_leginon_instruments.py localhost Titan123456,GatanK3host
31
32
h3. export_leginon_cal.py
33
34
*Usage* export_leginon_cal.py source_database_hostname source_camera_hosthame camera_name <source_tem_name>
35
*Example* python export_leginon_cal.py localhost GatanK3host k3host EFKrios
36
37
h3. export_leginon_settings.py
38
39
This export settings used by a specific session, typically a session you know containing good settings to be used as default in your new system.
40
41
*Usage* python export_leginon_settings.py <sessionname> <optional partial application name> <optional node name prefix>
42
*Example* python 20dec31a
43
44
h3. export_leginon_presets.py
45
46
This export presets used by a specific session, typically the same session as above to be used as default in your new system.
47
48
*Usage* python export_leginon_presets.py <sessionname> <optional partial application name> <optional node name prefix>
49
*Example* python 20dec31a
50
51
52
h3. export_leginon_ref.py
53
54
*Usage* python export_leginon_ref.py source_database_hostname source_camera_hosthame camera_name
55
*Example* python export_leginon_ref.py localhost k3host GatanK3
56
57
This script and its import counter part are also used as a regular backup to quickly recover from file server issue that require us to use a different file disk and avoid accessing the problem disk.
58
59 4 Anchi Cheng
h2. Step 2: copy the resulting json and mrc files to the new leginon host (called new_host in the examples)
60 1 Anchi Cheng
61 3 Anchi Cheng
h2. Step 3: On the clean installation that has already administrator user and other default in the installation, run these imports
62 1 Anchi Cheng
63
h3. import_leginon_instruments.py
64
65
*Usage* import_leginon_instruments.py database_hostname
66
*Example* python import_leginon_instruments.py new_host
67
68
h3. import_leginon_cal.py
69
70
*Usage* import_leginon_cal.py database_hostname camera_cal_json_file
71
*Example* python import_leginon_cal.py new_host cal_titan123456+EFKrios+gatank3host+GatanK3.json
72
73
h3. import_leginon_settings.py
74
75
*Usage* python import_leginon_settings.py <applicationname or json filepath>
76
*Example* python import_leginon_settings.py 20dec31a.json
77
78
h3. import_leginon_presets.py
79
80
*Usage* python import_leginon_presets.py database_hostname tem_camera_presets_json_file
81
*Example* python import_leginon_presets.py new_host preset_titan123456+EFKrios+gatank3host+GatanK3.json
82
83
h3. import_leginon_ref.py 
84
85
*Usage* import_leginon_ref.py database_hostname camera_ref_json_file
86
*Example* python import_leginon_ref.py new_host ref_titan123456+EFKrios+gatank3host+GatanK3.json