On Tuesday, March 13, 2018 at 7:26:28 AM UTC-7, Eleanor McHugh wrote:
> I'm getting back into Sequel after a break of several years and am running
> into problems creating Sequel::Model subclasses which use set_schema. Every
> time I try this pattern I'm getting runtime errors of the form:
> `prepare': Amalgalite::SQLite3::Error: Failure to prepare statement
>> SELECT * FROM `services` LIMIT 1 : [SQLITE_ERROR 1] : no such table:
>> services (Sequel::DatabaseError)
> where my code is of the form
> require 'sequel'
>> DB = Sequel.connect database: 'database.db', adapter: 'amalgalite', mode:
>> class Service < Sequel::Model
>> set_schema do
>> primary_key :id
>> String :address, unique: true, null: false
> This pattern worked perfectly in the last major project I did with Sequel
> and I'm baffled as to what I'm doing wrong. The only substantive difference
> is that for that project I used a MySQL backend rather than Amalgalite. On
> the off-chance this is an adapter bug I've also tried with the standard
> SQLite adapter.
> One thing I noticed reading through the RDoc for Sequel::Model is the
> @@lazy_schema_loading variable and I've tried setting this via its accessor
> but that raises a NoMethodError.
> Any insights into what I'm doing wrong will be gratefully received.
I'm not sure what version of Sequel you are running. In Sequel 5,
set_schema does not exist. Sequel does not use class variables at all, not
in core nor in any plugins or extensions.
You probably want to change the code to:
DB = Sequel.connect database: 'database.db', adapter: 'amalgalite', mode:
String :address, unique: true, null: false
class Service < Sequel::Model
Maybe that will help.
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
To post to this group, send email to email@example.com.
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.