aboutsummaryrefslogtreecommitdiffstats
path: root/db/migrate/068_add_censor_table.rb
blob: 92a17d2bc4f3d6be3455d9096999e583f747130e (plain)
1
2
3
4
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
class AddCensorTable < ActiveRecord::Migration
    def self.up
        create_table :censor_rules do |t|
            t.column :info_request_id, :integer
            t.column :user_id, :integer
            t.column :public_body_id, :integer

            t.column :text, :text, :null => false
            t.column :replacement, :text, :null => false

            t.column :last_edit_editor, :string, :null => false
            t.column :last_edit_comment, :text, :null => false

            t.column :created_at, :datetime, :null => false
            t.column :updated_at, :datetime, :null => false
        end

        if ActiveRecord::Base.connection.adapter_name == "PostgreSQL"
            execute "ALTER TABLE censor_rules ADD CONSTRAINT fk_censor_rules_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id)"
            execute "ALTER TABLE censor_rules ADD CONSTRAINT fk_censor_rules_user FOREIGN KEY (user_id) REFERENCES users(id)"
            execute "ALTER TABLE censor_rules ADD CONSTRAINT fk_censor_rules_public_body FOREIGN KEY (public_body_id) REFERENCES public_bodies(id)"
        end
    end

    def self.down
        drop_table :censor_rules
    end
end