struct

Prostore::Schema::Definition

Inherits Struct < Value < Object

The complete schema captured for a single model class.

Populated by the macros at compile time and exposed via Class.prostore_schema. The diff engine, drift detector, and migration planner consume this struct (and the live DB introspection) to compute the work that needs doing.

Constructors

new(table_name : String, fields : Array(Field), indexes : Array(Index), foreign_keys : Array(ForeignKey), queries : Array(Query), reserved_field_tags : Array(Int32), reserved_index_tags : Array(Int32), reserved_foreign_key_tags : Array(Int32))
Source

Instance methods

clone
Source
copy_with(table_name _table_name = @table_name, fields _fields = @fields, indexes _indexes = @indexes, foreign_keys _foreign_keys = @foreign_keys, queries _queries = @queries, reserved_field_tags _reserved_field_tags = @reserved_field_tags, reserved_index_tags _reserved_index_tags = @reserved_index_tags, reserved_foreign_key_tags _reserved_foreign_key_tags = @reserved_foreign_key_tags)
Source
field(tag : Int32) : Field | Nil
Source
field(name : String) : Field | Nil
Source
field(name : Symbol) : Field | Nil
Source
fields
foreign_keys
indexes
primary_key
Source
queries
reserved_field_tags
reserved_foreign_key_tags
reserved_index_tags
table_name