forked from raonyguimaraes/mendelmd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfabfile.py
executable file
·181 lines (136 loc) · 6.76 KB
/
fabfile.py
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#from fabric.api import *
# from fabric.api import run,local
# from invoke import run
from fabric.api import run
from subprocess import check_output
#comment
# env.user = 'raony'
# env.hosts = ['localhost']
def install():
# local('pip install cython')
# local('pip install pynnotator')
local('pip install -r requirements.txt')
# local('pynnotator install')
# local('python manage.py migrate auth')#bug with version 1.8
# local('python manage.py migrate')
def backup_users():
local('python3 manage.py dumpdata --indent=4 --format=json auth account allauth > fixtures/users.json')
# local('python3 manage.py dumpdata --indent=4 --format=json individuals > fixtures/individuals.json')
# local('python3 manage.py dumpdata --indent=4 --format=json individuals.usergroup > fixtures/usergroups.json')
# local('python manage.py dumpdata users allauth > initial_data.json')
def reset_migrations():
models = ['cases', 'projects', 'individuals', 'databases', 'variants',
'diseases', 'genes', 'files', 'filter_analysis', 'samples', 'analyses',
'tasks', 'workers', 'upload', 'settings', 'projects', 'mapps', 'pathway_analysis', 'mapps', 'analyses']
for model in models:
local('rm -rf %s/migrations' % (model))
for model in models:
local('python manage.py makemigrations %s' % (model))
local('python manage.py migrate')
def resetdb():
# local('rm db.sqlite3')
# local('psql -d template1 -c "DROP DATABASE rockbio_prod;"')
# local('psql -d template1 -c "CREATE DATABASE rockbio_prod;"')
# local('python manage.py syncdb')
local('dropdb rockbio')
local('createdb rockbio')
local('./manage.py migrate')
# local('python manage.py loaddata fixtures/users.json')
# local('python manage.py loaddata fixtures/usergroups.json')
#load genes, diseases, pathways
# local('python manage.py createsuperuser')
#local('python manage.py runserver mendel.medicina.ufmg.br:8001')
def import_samples():
local('./manage.py import_files')
local('python ../scripts/import_samples.py')
local('python ../scripts/update_sample_files.py')
def make_doc():
with lcd('../docs'):
local('make html')
local('cp -rf _build/html/* /var/www/rockbio_static/docs/')
def backup():
command = 'python3 manage.py dumpdata --indent=4 --format=json auth.user account allauth > fixtures/users.json'
check_output(command,shell=True)
command = 'python3 manage.py dumpdata --indent=4 --format=json keys > fixtures/keys.json'
check_output(command, shell = True)
# run(' mysqldump -u root -p rockbio14 | gzip > db_backup/rockbio151012.sql.gz ')
def restore():
# command = 'python3 manage.py loaddata fixtures/users.json'
# check_output(command, shell=True)
command = 'python3 manage.py loaddata fixtures/keys.json'
check_output(command, shell=True)
def create_sample_data():
#backup all users
# with cd('/projects/www/rockbio14'):
#
# run('mysqldump -u root -p rockbio14 auth_user account_account profiles_profile | gzip > db_backup/users.sql.gz')
# #get sample from individuals
# run('mysqldump -u root -p --where="individual_id < 16" rockbio14 individuals_variant | gzip > db_backup/individual_variants_sample.sql.gz')
# run('mysqldump -u root -p --where="id < 16" rockbio14 individuals_individual | gzip > db_backup/individuals_sample.sql.gz')
get('/projects/www/rockbio14/db_backup/users.sql.gz', '/home/raony/sites/rockbio14/db_backup/')
get('/projects/www/rockbio14/db_backup/individual_variants_sample.sql.gz', '/home/raony/sites/rockbio14/db_backup/')
get('/projects/www/rockbio14/db_backup/individuals_sample.sql.gz', '/home/raony/sites/rockbio14/db_backup/')
def copy_sample_from_server():
local('scp 150.164.199.43:/projects/www/rockbio14/db_backup/rockbio040113_withoutvariants.zip .')
def make_sample_data():
# local('pg_dump -U raony rockbio -T individuals_variant > db_sample/rockbio_sample_variants.sql')
# local('zip db_sample/samples.sql.zip db_sample/rockbio_sample_variants.sql')
# local('rm db_sample/rockbio_sample_variants.sql')
local('python manage.py makefixture --format=json --indent=4 rockbio.individuals.variant[1:101] > fixtures/individuals_variant.json')
def load_sample_data():
local('psql -U raony -d rockbio < db_sample/rockbio210313_sample.sql')
local('psql -U raony -d rockbio -f db_sample/restore_db.sql')
def loaddata():
#Load user and sample from individuals
local('gunzip < db_backup/users.sql.gz | mysql -u root -p rockbio')
local('gunzip < db_backup/individual_variants_sample.sql.gz | mysql -u root -p rockbio ')
local('gunzip < db_backup/individuals_sample.sql.gz | mysql -u root -p rockbio ')
# run(' gunzip < db_backup/rockbio151012.sql.gz | mysql -u root -p rockbio14 ')
# local("""python manage.py loaddata db_backup/all_without_individuals.json.gz""")
def local_reset():
#delete database
# local("sudo su - postgres")
# local("""psql -c 'DROP DATABASE rockbio_dev;'""")
# local("""psql -c 'CREATE DATABASE rockbio_dev;'""")
#sync and migrate
local('python manage.py sqlclear individuals | python manage.py dbshell')
local('python manage.py syncdb --migrate')
local('python manage.py createsuperuser')
local('python manage.py runserver mendel.medicina.ufmg.br:8002')
#load user data
# local('python manage.py loaddata user_data.json')
#ready to go!
#backup db?
#python manage.py dumpdata -v 2 --format=json users auth account > user_data.json
#
# local('python manage.py flush --noinput')
#local('python manage.py syncdb --noinput')
# local('python manage.py runserver')
def requirements():
local('pip install -r requirements.txt')
#local('python filetransfers/setup.py install')
#local('python wikitools-1.1.1/setup.py install')
#local('easy_install fisher')
def backup_diseases():
local('python manage.py dumpdata ')
def run_local():
# local('pkill python')
local('python manage.py celeryd &')
local('python manage.py runserver mendel.medicina.ufmg.br:8002')
# local('pkill python')
def deploy(message="changes (fabric)"):
local('git add .; git commit -m "%s";git push' % (message))
with cd('/projects/www/rockbio'):
# run('git reset --hard HEAD')
run('git pull')
# run('source virtualenvwrapper.sh && workon genome_research && python manage.py syncdb --noinput')
run('sudo /etc/init.d/apache2 restart')
def clean_individuals():
local('python manage.py sqlclear individuals | python manage.py dbshell')
def clean_variants():
local('python manage.py sqlclear variants | python manage.py dbshell')
local('python manage.py migrate')
def docs():
with lcd('../docs'):
local('make html')
local('cp -r _build/html/* ../static/docs/')