4f1ee5c9c08_init_skos_data.upgrade()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 35
Code Lines 27

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 27
dl 0
loc 35
rs 9.232
c 0
b 0
f 0
cc 1
nop 0
1
"""init SKOS data
2
3
Revision ID: 4f1ee5c9c08
4
Revises: 3924a7ad2f8
5
Create Date: 2014-04-15 16:12:09.144433
6
7
"""
8
import sqlalchemy as sa
9
from alembic import op
10
from sqlalchemy.sql import column
11
from sqlalchemy.sql import table
12
13
# revision identifiers, used by Alembic.
14
revision = "4f1ee5c9c08"
15
down_revision = "3924a7ad2f8"
16
17
18
notetype_table = table(
19
    "notetype", column("name", sa.String), column("description", sa.String)
20
)
21
22
labeltype_table = table(
23
    "labeltype", column("name", sa.String), column("description", sa.String)
24
)
25
26
language_table = table("language", column("id", sa.String), column("name", sa.String))
27
28
29
def upgrade():
30
    op.bulk_insert(
31
        notetype_table,
32
        [
33
            {"name": "changeNote", "description": "A change note."},
34
            {"name": "definition", "description": "A definition."},
35
            {"name": "editorialNote", "description": "An editorial note."},
36
            {"name": "example", "description": "An example."},
37
            {"name": "historyNote", "description": "A historynote."},
38
            {"name": "scopeNote", "description": "A scopenote."},
39
            {"name": "note", "description": "A note."},
40
        ],
41
    )
42
43
    op.bulk_insert(
44
        labeltype_table,
45
        [
46
            {"name": "hiddenLabel", "description": "A hidden label."},
47
            {"name": "altLabel", "description": "An alternative label."},
48
            {"name": "prefLabel", "description": "A preferred label."},
49
        ],
50
    )
51
52
    op.bulk_insert(
53
        language_table,
54
        [
55
            {"id": "la", "name": "Latin"},
56
            {"id": "nl", "name": "Dutch"},
57
            {"id": "vls", "name": "Flemish"},
58
            {"id": "en", "name": "English"},
59
            {"id": "fr", "name": "French"},
60
            {"id": "de", "name": "German"},
61
        ],
62
    )
63
    pass
64
65
66
def downgrade():
67
    op.execute(notetype_table.delete())
68
    op.execute(labeltype_table.delete())
69
    op.execute(language_table.delete())
70
    pass
71