/
Makefile
138 lines (100 loc) · 5.78 KB
/
Makefile
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
NAZWA_OBCEJ_JEDNOSTKI=obcy
PSQL=psql -q -t --echo-errors bpp | grep -v "INSERT 0 1"
PSQL_VERBOSE=psql -t --echo-errors -a bpp
PG_DUMP=pg_dump bpp
MANAGE=python ../manage.py
DBF2SQL=python ../../../manage.py dbf2sql
ASSETS_DIR=/tmp/bpp-assets
TABELE=AUT.DB B_B.DB B_N.DB DYS.DB IXE.DB JER.DB KAD.DB LOC.DB PBC.DB PUB.DB SCI.DB SYS.DB WSX.DB WYD.DB ldy.dat BIB.DB B_E.DB B_P.DB IXP.DB JEZ.DB KBN.DB PBA.DB PBD.DB RTF.DB S_B.DB WSY.DB ixb.db lis.dat B_A.DB B_L.DB B_U.DB EXT.DB JED.DB J_H.DB KBR.DB PBB.DB POZ.DB SES.DB USI.DB WX2.DB ixn.db
convert-dbfs:
cd db/bib/ && $(DBF2SQL) $(TABELE)
import-converted-dbfs:
for tabela in $(TABELE); do psql --echo-errors --quiet -t bpp -f db/bib/$$tabela.sql & done && wait
usun-integracje-autorow:
echo "begin; delete from bpp_autor_jednostka; delete from bpp_autor;update import_dbf_aut set bpp_autor_id = NULL where bpp_autor_id IS NOT NULL;commit;" | $(PSQL)
get-assets:
if [ -d $(ASSETS_DIR) ]; then (cd $(ASSETS_DIR) && git pull) || (rm -rfv $(ASSETS_DIR) && git clone https://github.com/iplweb/bpp-assets $(ASSSETS_DIR)) ; else git clone https://github.com/iplweb/bpp-assets $(ASSETS_DIR); fi
integruj-dbf-autorzy:
$(MANAGE) integruj_dbf --enable-wydzial
$(MANAGE) integruj_dbf --enable-jednostka
$(MANAGE) integruj_dbf --enable-autor
importuj-dyscypliny:
$(MANAGE) importuj_dyscypliny -v0 2017 "/Volumes/Dane zaszyfrowane/UMWroclaw/bpp-assets/dyscypliny/2017.xlsx"
$(MANAGE) importuj_dyscypliny -v0 2018 "/Volumes/Dane zaszyfrowane/UMWroclaw/bpp-assets/dyscypliny/2018.xlsx"
$(MANAGE) importuj_dyscypliny -v0 2019 "/Volumes/Dane zaszyfrowane/UMWroclaw/bpp-assets/dyscypliny/2019.xlsx"
$(MANAGE) importuj_dyscypliny -v0 2020 "/Volumes/Dane zaszyfrowane/UMWroclaw/bpp-assets/dyscypliny/2020.xlsx"
integruj-dbf-publikacje-pre:
$(MANAGE) integruj_dbf --enable-charakter-kbn-jezyk --charaktery-enrichment-xls $(ASSETS_DIR)/bg-umw/charaktery_formalne.xlsx
$(MANAGE) integruj_dbf --enable-zrodlo
$(MANAGE) rozszerz_skroty_zrodel $(ASSETS_DIR)/bg-umw/zrodla.xlsx
$(PG_DUMP) > pre-integruj-dbf-enable-publikacja.sql
integruj-dbf-publikacje-post:
$(MANAGE) integruj_dbf --enable-publikacja > integruj-dbf-publikacja-log.txt
$(MANAGE) integruj_dbf --enable-zatwierdz-podwojne-przypisania
$(MANAGE) integruj_dbf --enable-b-a
$(MANAGE) integruj_dbf --enable-przypisz-jednostki
integruj-dbf-publikacje: get-assets integruj-dbf-publikacje-pre integruj-dbf-publikacje-post
przypisz-dyscypliny:
$(MANAGE) przypisz_dyscypliny -v0 2017 --ustawiaj-pierwsza-gdy-dwie --disable-cache
$(MANAGE) przypisz_dyscypliny -v0 2018 --ustawiaj-pierwsza-gdy-dwie --disable-cache
$(MANAGE) przypisz_dyscypliny -v0 2019 --ustawiaj-pierwsza-gdy-dwie --disable-cache
$(MANAGE) przypisz_dyscypliny -v0 2020 --ustawiaj-pierwsza-gdy-dwie --disable-cache
integruj-dbf: integruj-dbf-autorzy importuj-dyscypliny integruj-dbf-publikacje przypisz-dyscypliny
remove-dbfs:
echo "select 'drop table '||tablename||';' from pg_tables where tablename like 'import_dbf_%'" | \
psql -U postgres -d bpp -t | \
psql -U postgres -d bpp
alter-schema:
cat sql/alter-schema.sql | $(PSQL_VERBOSE)
cat sql/translate-title.sql | $(PSQL)
cat sql/translate-autor.sql | $(PSQL)
cat sql/translate-poz.sql | $(PSQL)
cat sql/translate-usi.sql | $(PSQL)
cat sql/translate-zrodlo.sql | $(PSQL)
cat sql/alter-umw.sql | $(PSQL)
delete-imported-data:
cat sql/remove-imported.sql | $(PSQL)
disable-trigger:
cat sql/disable-trigger.sql | $(PSQL_VERBOSE)
enable-trigger:
cat sql/enable-trigger.sql | $(PSQL_VERBOSE)
create-schema:
echo "select tablename from pg_tables where tablename like 'import_dbf_%'" | $(PSQL) | xargs $(MANAGE) inspectdb
dropdb-createdb:
dropdb bpp || true
createdb bpp
recreate-db: dropdb-createdb
$(MANAGE) migrate
rebuild-cache:
$(MANAGE) rebuild_cache
create-bib-desc:
$(MANAGE) integruj_dbf --enable-mapuj-publikacja
cat sql/translate-bib-desc.sql | $(PSQL)
import-dbf: recreate-db import-converted-dbfs alter-schema create-bib-desc
$(PG_DUMP) > post-import-dbf.sql
restore-import-dbf-state: dropdb-createdb
cat post-import-dbf.sql | $(PSQL)
restore-pre-integruj-publikacje-state: dropdb-createdb
cat pre-integruj-dbf-enable-publikacja.sql | $(PSQL)
$(MANAGE) migrate
restart-integruj-publikacje: restore-pre-integruj-publikacje-state integruj-dbf-publikacje-post przypisz-dyscypliny integruj-liste-wydawcow ustaw-obca-jednostke rebuild-cache ustaw-date-aktualizacji wylacz-alfabetyczne-sortowanie-jednostek przenies-sortowanie-jednostek enable-trigger dodaj-aktualnosc
integruj-liste-wydawcow: get-assets
$(MANAGE) import_wydawca_poziom $(ASSETS_DIR)/poziomy-wydawcow-2017-2020.xlsx
$(MANAGE) import_wydawca_alias $(ASSETS_DIR)/bg-umw/aliasy_wydawcow.xlsx
ustaw-obca-jednostke:
$(MANAGE) ustaw_obca_jednostke --wymuszaj "$(NAZWA_OBCEJ_JEDNOSTKI)"
dodaj-aktualnosc:
$(MANAGE) integruj_dbf --enable-dodaj-aktualnosc
ustaw-date-aktualizacji:
cat sql/ustaw-date-aktualizacji.sql | $(PSQL_VERBOSE)
wylacz-alfabetyczne-sortowanie-jednostek:
echo "UPDATE bpp_uczelnia SET sortuj_jednostki_alfabetycznie = 'f'" | $(PSQL_VERBOSE)
przenies-sortowanie-jednostek:
echo "UPDATE bpp_jednostka SET kolejnosc = import_dbf_jed.sort::integer FROM import_dbf_jed WHERE import_dbf_jed.bpp_jednostka_id = bpp_jednostka.id" | $(PSQL_VERBOSE)
przenies-isbn:
$(MANAGE) wytnij_isbn_z_uwag --przenies-do-uwag > isbn-przenies.txt
# $(MANAGE) wytnij_isbn_z_uwag --skasuj > isbn-skasuj.txt
usun-nieuzywane-charaktery-kbny:
$(MANAGE) usun_nieuzywane_charaktery_kbny
integrate: disable-trigger integruj-dbf integruj-liste-wydawcow ustaw-obca-jednostke przenies-isbn rebuild-cache ustaw-date-aktualizacji wylacz-alfabetyczne-sortowanie-jednostek przenies-sortowanie-jednostek enable-trigger dodaj-aktualnosc usun-nieuzywane-charaktery-kbny
rebuild: convert-dbfs import-dbf integrate