graflo.architecture.evolution.physical¶
Typing and physical-profile evolution ops.
Property types and secondary indexes were visible to the schema differ long before anything could author them. These ops close that half of the loop; they do not touch a live database, which stays the job of the migration executor.
Attributes¶
logger = logging.getLogger(__name__)
module-attribute
¶
Classes¶
Functions:¶
apply_add_edge_indexes(manifest, op)
¶
Author secondary indexes on edge physical specs.
Source code in graflo/architecture/evolution/physical.py
apply_add_vertex_indexes(manifest, op)
¶
Author secondary indexes on vertices.
Source code in graflo/architecture/evolution/physical.py
apply_change_field_types(manifest, op)
¶
Set the logical type of existing vertex and edge properties.
Source code in graflo/architecture/evolution/physical.py
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 | |
apply_remove_edge_indexes(manifest, op)
¶
Withdraw authored indexes from edge physical specs.
Source code in graflo/architecture/evolution/physical.py
apply_remove_vertex_indexes(manifest, op)
¶
Withdraw authored vertex indexes, refusing to touch derived ones.
Source code in graflo/architecture/evolution/physical.py
apply_set_bindings(manifest, op)
¶
Replace the manifest's bindings block.
apply_set_db_profile(manifest, op)
¶
Replace the schema's database profile.
Source code in graflo/architecture/evolution/physical.py
apply_set_edge_directed(manifest, op)
¶
Set the directed flag on selected edges.
Source code in graflo/architecture/evolution/physical.py
apply_set_native_inverses(manifest, op)
¶
Add relations to, or withdraw them from, db_profile.native_inverses.
The rules (declared pair, not symmetric, no explicit inverse edges, one
physical edge type, TigerGraph) are the schema's own and are checked by
:meth:Schema.finish_init; this op only names itself in the refusal.