Introduction
Introduction Statistics Contact Development Disclaimer Help
20121228171549_initial_schema.rb - warvox - VoIP based wardialing tool, forked …
git clone git://jay.scot/warvox
Log
Files
Refs
README
---
20121228171549_initial_schema.rb (6474B)
---
1 # class InitialSchema < ActiveRecord::Migration
2 class InitialSchema < ActiveRecord::Migration[5.0]
3 def up
4 # Require the intarray extension
5 execute("CREATE EXTENSION IF NOT EXISTS intarray")
6
7 create_table :settings do |t|
8 t.string :var, null: false
9 t.text :value, null: true
10 t.integer :thing_id, null: true
11 t.string :thing_type, limit: 30, null: true
12 t.timestamps null: false
13 end
14
15 add_index :settings, [ :thing_type, :thing_id, :var ], unique: true
16
17 create_table 'users' do |t|
18 t.string :login, null: false # opt…
19 t.string :email, null: true # opt…
20 t.string :crypted_password, null: false # opt…
21 t.string :password_salt, null: false # opt…
22 t.string :persistence_token, null: false # req…
23 t.string :single_access_token, null: false # opt…
24 t.string :perishable_token, null: false # opt…
25
26 # Magic columns, just like ActiveRecord's created_at and updated_a…
27 t.integer :login_count, null: false, default: 0 # option…
28 t.integer :failed_login_count, null: false, default: 0 # option…
29 t.datetime :last_request_at # …
30 t.datetime :current_login_at # …
31 t.datetime :last_login_at # …
32 t.string :current_login_ip # …
33 t.string :last_login_ip # …
34
35 t.timestamps null: false
36 t.boolean "enabled", default: true
37 t.boolean "admin", default: true
38 end
39
40 create_table 'projects' do |t|
41 t.timestamps null: false
42 t.text "name", null: false
43 t.text "description"
44 t.text "included"
45 t.text "excluded"
46 t.string "created_by"
47 end
48
49 create_table "jobs" do |t|
50 t.timestamps null: false
51 t.integer "project_id", null: false
52 t.string "locked_by"
53 t.timestamp "locked_at"
54 t.timestamp "started_at"
55 t.timestamp "completed_at"
56 t.string "created_by"
57 t.string "task", null: false
58 t.binary "args"
59 t.string "status"
60 t.text "error"
61 t.integer "progress", default: 0
62 end
63
64 create_table "lines" do |t|
65 t.timestamps null: false
66 t.text "number", null: false
67 t.integer "project_id", null: false
68 t.text "line_type"
69 t.text "notes"
70 end
71
72 create_table "line_attributes" do |t|
73 t.timestamps null: false
74 t.integer "line_id", null: false
75 t.integer "project_id", null: false
76 t.text "name", null: false
77 t.binary "value", null: false
78 t.string "content_type", default: "text"
79 end
80
81 create_table "calls" do |t|
82 # Created by the dialer job
83 t.timestamps null: false
84 t.text "number", null: false
85 t.integer "project_id", null: false
86 t.integer "job_id", null: false
87 t.integer "provider_id", null: false
88 t.boolean "answered"
89 t.boolean "busy"
90 t.text "error"
91 t.integer "audio_length"
92 t.integer "ring_length"
93 t.text "caller_id"
94
95 # Generated by the analysis job
96 t.integer "analysis_job_id"
97 t.timestamp "analysis_started_at"
98 t.timestamp "analysis_completed_at"
99 t.float "peak_freq"
100 t.text "peak_freq_data"
101 t.text "line_type"
102 t.integer "fprint", array: true
103 end
104
105 create_table "call_media" do |t|
106 t.integer "call_id", null: false
107 t.integer "project_id", null: false
108 t.binary "audio"
109 t.binary "mp3"
110 t.binary "png_big"
111 t.binary "png_big_dots"
112 t.binary "png_big_freq"
113 t.binary "png_sig"
114 t.binary "png_sig_freq"
115 end
116
117 create_table "signatures" do |t|
118 t.timestamps null: false
119 t.text "name", null: false
120 t.string "source"
121 t.text "description"
122 t.string "category"
123 t.string "line_type"
124 t.integer "risk"
125 end
126
127 create_table "signature_fp" do |t|
128 t.integer "signature_id", null: false
129 t.integer "fprint", array: true
130 end
131
132 create_table "providers" do |t|
133 t.timestamps null: false
134 t.text "name", null: false
135 t.text "host", null: false
136 t.integer "port", null: false
137 t.text "user"
138 t.text "pass"
139 t.integer "lines", null: false, default: 1
140 t.boolean "enabled", default: true
141 end
142
143 add_index :jobs, :project_id
144 add_index :lines, :number
145 add_index :lines, :project_id
146 add_index :line_attributes, :line_id
147 add_index :line_attributes, :project_id
148 add_index :calls, :number
149 add_index :calls, :job_id
150 add_index :calls, :provider_id
151 add_index :call_media, :call_id
152 add_index :call_media, :project_id
153 add_index :signature_fp, :signature_id
154 end
155
156 def down
157 remove_index :jobs, :project_id
158 remove_index :lines, :number
159 remove_index :lines, :project_id
160 remove_index :line_attributes, :line_id
161 remove_index :line_attributes, :project_id
162 remove_index :calls, :number
163 remove_index :calls, :job_id
164 remove_index :calls, :provider_id
165 remove_index :call_media, :call_id
166 remove_index :call_media, :project_id
167 remove_index :signature_fp, :signature_id
168
169 drop_table "providers"
170 drop_table "signature_fp"
171 drop_table "signatures"
172 drop_table "call_media"
173 drop_table "calls"
174 drop_table "line_attributes"
175 drop_table "lines"
176 drop_table "jobs"
177 drop_table "projects"
178 drop_table "users"
179 drop_table "settings"
180 end
181 end
You are viewing proxied material from jay.scot. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.