Class: CreateDnsBlacklists

Inherits:
Object
  • Object
show all
Defined in:
lib/osa/migrations/00005_create_dns_blacklists.rb

Instance Method Summary collapse

Instance Method Details

#changeObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/osa/migrations/00005_create_dns_blacklists.rb', line 5

def change
  create_table :dns_blacklists do |t|
    t.text :name, null: false
    t.text :server, null: false
  end

  reversible do |dir|
    dir.up do
      execute <<~SQL
      insert into dns_blacklists (name, server) values
        ('spamcop', 'bl.spamcop.net'),
        ('sbl', 'sbl.spamhaus.org'),
        ('psbl', 'psbl.surriel.org');
      SQL
      add_column :reports, :blacklist, :string, null: true
      execute <<~SQL
        update reports set blacklist = 'db' where blacklisted = true;
      SQL
      remove_column :reports, :blacklisted
    end

    dir.down do
      add_column :reports, :blacklisted, :boolean, default: false
      execute <<~SQL
        update reports set blacklisted = true where blacklist = 'db';
      SQL
      remove_column :reports, :blacklist
    end
  end
end