Sequel.migration do change do create_table :emails do primary_key :id foreign_key :mailinglist_id, :mailinglists, null: false #, on_delete: :cascade column :name, String, null: false, fixed: true, size: 50 column :email, String, null: false, fixed: true, size: 254 column :permissions, Integer # bitfield. 1=read 2=write 4=admin column :updated_at, DateTime column :created_at, DateTime index %i[email], unique: false # list personnal subscriptions index %i[email mailinglist_id], unique: true index %i[mailinglist_id], unique: false # allow to search entries by mailinglist index %i[mailinglist_id permissions], unique: false # find readers, writers, etc. end end end