19 lines
778 B
Ruby
19 lines
778 B
Ruby
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
|