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
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.