32def upgrade():
33 enum_format = ENUM(*GEOLOC_LOCATION_FORMAT_VALUES, name=GEOLOC_LOCATION_FORMAT_NAME, checkfirst=True)
34 enum_pidf_element = ENUM(*GEOLOC_PROFILE_PIDF_ELEMENT_VALUES, name=GEOLOC_PROFILE_PIDF_ELEMENT_NAME, checkfirst=True)
35 enum_precedence = ENUM(*GEOLOC_PROFILE_PRECEDENCE_VALUES, name=GEOLOC_PROFILE_PRECEDENCE_NAME, checkfirst=True)
36 ast_bool_values = ENUM(*AST_BOOL_VALUES, name=AST_BOOL_NAME, create_type=False)
37
38 op.create_table(
39 'geoloc_location',
40 sa.Column('id', sa.String(80), nullable=False, primary_key=True),
41 sa.Column('format', enum_format, nullable=True),
42 sa.Column('location_info', sa.String(2048), nullable=True),
43 sa.Column('location_source', sa.String(1024), nullable=True),
44 sa.Column('confidence', sa.String(2048), nullable=True),
45 sa.Column('method', sa.String(2048), nullable=True)
46 )
47
48 op.create_table(
49 'geoloc_profile',
50 sa.Column('id', sa.String(80), nullable=False, primary_key=True),
51 sa.Column('pidf_element', enum_pidf_element, nullable=True),
52 sa.Column('pidf_element_id', sa.String(80), nullable=True),
53 sa.Column('device_id', sa.String(1024), nullable=True),
54 sa.Column('location_reference', sa.String(80), nullable=True),
55 sa.Column('location_info_refinement', sa.String(2048), nullable=True),
56 sa.Column('location_variables', sa.String(2048), nullable=True),
57 sa.Column('usage_rules', sa.String(2048), nullable=True),
58 sa.Column('notes', sa.String(2048), nullable=True),
59 sa.Column('allow_routing_use', ast_bool_values),
60 sa.Column('suppress_empty_ca_elements', ast_bool_values),
61 sa.Column('profile_precedence', enum_precedence, nullable=True),
62 sa.Column('format', enum_format, nullable=True),
63 sa.Column('location_info', sa.String(2048), nullable=True),
64 sa.Column('location_source', sa.String(1024), nullable=True),
65 sa.Column('confidence', sa.String(2048), nullable=True),
66 sa.Column('method', sa.String(2048), nullable=True)
67 )
68