-
-
Notifications
You must be signed in to change notification settings - Fork 166
Open
Labels
Milestone
Description
Describe the bug
When a relation with the name options exists the following error is raised when you create an instance of it:
rom-core-5.2.6/lib/rom/schema.rb:232:in `[]': :struct_namespace attribute doesn't exist in options schema (KeyError)
This happens because ROM::Initializer::InstanceMethods#options is called at either ROM::Relation#struct_namespace or ROM::Relation#meta_ast.
To Reproduce
require "rom"
require "dry-types"
rom = ROM.container(:memory, 'memory://test') do |config|
config.relation(:options) do
schema do
attribute :whatever, Dry::Types["string"]
end
end
end
options = rom.relations[:options]
options.changeset(:create, whatever: "who cares").commit
Expected behavior
A relation named options doesn't poop my app
My environment
- Affects my production application: No in that we're not yet in production, but yes this impacts real job stuff.
- Ruby version: 3.1.1
- OS: MacOS 12.whatever on an Apple Silicon device.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Backlog