Yes, you are right - this was a fairly obvious oversight on my part. Thanks 
a lot for the input.

Best

On Tuesday, April 24, 2018 at 10:38:33 PM UTC+2, Jeremy Evans wrote:
>
> On Tuesday, April 24, 2018 at 1:21:52 PM UTC-7, Marcelo Pereira wrote:
>>
>> Hello,
>>
>> I'm running Sequel 5.6.0 and Ruby 2.5.1 and, when I try to create a 
>> PostgreSQL enum, using the pg_enum extension, I get the following error.
>>
>> FrozenError: can't modify frozen 
>> #<Class:#<Sequel::Postgres::Database:0x0000560dde548d68>>
>>   
>> /usr/local/bundle/gems/sequel-5.6.0/lib/sequel/extensions/pg_enum.rb:112:in 
>> `parse_enum_labels'
>>
>> Here is the minimum code that generates this error:
>>
>> Sequel.migration do
>>   change do
>>     create_enum(:transaction_status, %w[complete pending 
>> pending_publisher])
>>   end
>> end
>>
>>
>> I'm still trying to figure out what is going on and will post more 
>> information if I find something.
>>
>
> You are running on a frozen Database object, and create_enum modifies the 
> object, so you get the FrozenError. A simple workaround with the current 
> code would be to just not run migrations on a frozen Database.
>
> In terms of fixing the underlying issue, we'd have to not freeze 
> @enum_labels, and instead use a mutex to access it.  That should be fine as 
> it is only used when parsing the schema.  I'll make that change before the 
> next release.
>
> Thanks,
> Jeremy
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sequel-talk+unsubscr...@googlegroups.com.
To post to this group, send email to sequel-talk@googlegroups.com.
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to