FixtureBuilder currently infers a model class from each table name with table_name.classify.constantize. This assumes the class name and table name follow Active Record conventions.
Models that use self.table_name = are not recognized when the configured table name cannot be constantized. FixtureBuilder then uses its model-less SQL extraction path instead of the model-backed path. This bypasses model-specific behavior such as custom Active Record type serialization.
Model discovery should honor each Active Record model's configured table_name while preserving the existing fallback for tables that genuinely have no model.
Acceptance criteria
FixtureBuilder currently infers a model class from each table name with
table_name.classify.constantize. This assumes the class name and table name follow Active Record conventions.Models that use
self.table_name =are not recognized when the configured table name cannot be constantized. FixtureBuilder then uses its model-less SQL extraction path instead of the model-backed path. This bypasses model-specific behavior such as custom Active Record type serialization.Model discovery should honor each Active Record model's configured
table_namewhile preserving the existing fallback for tables that genuinely have no model.Acceptance criteria