aboutsummaryrefslogtreecommitdiffstats
path: root/db/migrate/071_add_exim_log.rb
blob: d3780affa93fa0c8247e766e32cb249e3f0d86a8 (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
30
31
32
33
34
class AddEximLog < ActiveRecord::Migration
    def self.up
        create_table :exim_logs do |t|
            t.column :exim_log_done_id, :integer
            t.column :info_request_id, :integer

            t.column :order, :integer, :null => false
            t.column :line, :text, :null => false

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

        create_table :exim_log_dones do |t|
            t.column :filename, :text, :null => false, :unique => true
            t.column :last_stat, :datetime, :null => false

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

        if ActiveRecord::Base.connection.adapter_name == "PostgreSQL"
            execute "ALTER TABLE exim_logs ADD CONSTRAINT fk_exim_log_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id)"
            execute "ALTER TABLE exim_logs ADD CONSTRAINT fk_exim_log_done FOREIGN KEY (exim_log_done_id) REFERENCES exim_log_dones(id)"
        end
    end

    def self.down
        drop_table :exim_log_dones
        drop_table :exim_logs
    end
end