3 class CreateOsmDb < ActiveRecord::Migration
5 create_table "current_nodes", innodb_table do |t|
6 t.column "id", :bigint, :limit => 64, :null => false
7 t.column "latitude", :double
8 t.column "longitude", :double
9 t.column "user_id", :bigint, :limit => 20
10 t.column "visible", :boolean
11 t.column "tags", :text, :default => "", :null => false
12 t.column "timestamp", :datetime
15 add_index "current_nodes", ["id"], :name => "current_nodes_id_idx"
16 add_index "current_nodes", ["latitude", "longitude"], :name => "current_nodes_lat_lon_idx"
17 add_index "current_nodes", ["timestamp"], :name => "current_nodes_timestamp_idx"
19 change_column :current_nodes, :id, :bigint_auto_64
21 create_table "current_segments", innodb_table do |t|
22 t.column "id", :bigint, :limit => 64, :null => false
23 t.column "node_a", :bigint, :limit => 64
24 t.column "node_b", :bigint, :limit => 64
25 t.column "user_id", :bigint, :limit => 20
26 t.column "visible", :boolean
27 t.column "tags", :text, :default => "", :null => false
28 t.column "timestamp", :datetime
31 add_index "current_segments", ["id", "visible"], :name => "current_segments_id_visible_idx"
32 add_index "current_segments", ["node_a"], :name => "current_segments_a_idx"
33 add_index "current_segments", ["node_b"], :name => "current_segments_b_idx"
35 change_column :current_segments, :id, :bigint_auto_64
37 create_table "current_way_segments", innodb_table do |t|
38 t.column "id", :bigint, :limit => 64
39 t.column "segment_id", :bigint, :limit => 11
40 t.column "sequence_id", :bigint, :limit => 11
43 add_index "current_way_segments", ["segment_id"], :name => "current_way_segments_seg_idx"
44 add_index "current_way_segments", ["id"], :name => "current_way_segments_id_idx"
46 create_table "current_way_tags", myisam_table do |t|
47 t.column "id", :bigint, :limit => 64
48 t.column "k", :string, :default => "", :null => false
49 t.column "v", :string, :default => "", :null => false
52 add_index "current_way_tags", ["id"], :name => "current_way_tags_id_idx"
53 add_fulltext_index "current_way_tags", "v"
55 create_table "current_ways", myisam_table do |t|
56 t.column "id", :bigint_pk_64, :null => false
57 t.column "user_id", :bigint, :limit => 20
58 t.column "timestamp", :datetime
59 t.column "visible", :boolean
62 create_table "diary_entries", myisam_table do |t|
63 t.column "id", :bigint_pk, :null => false
64 t.column "user_id", :bigint, :limit => 20, :null => false
65 t.column "title", :string
66 t.column "body", :text
67 t.column "created_at", :datetime
68 t.column "updated_at", :datetime
71 create_table "friends", myisam_table do |t|
72 t.column "id", :bigint_pk, :null => false
73 t.column "user_id", :bigint, :limit => 20, :null => false
74 t.column "friend_user_id", :bigint, :limit => 20, :null => false
77 add_index "friends", ["friend_user_id"], :name => "user_id_idx"
79 create_table "gps_points", myisam_table do |t|
80 t.column "altitude", :float
81 t.column "user_id", :integer
82 t.column "trackid", :integer
83 t.column "latitude", :integer
84 t.column "longitude", :integer
85 t.column "gpx_id", :integer
86 t.column "timestamp", :datetime
89 add_index "gps_points", ["latitude", "longitude", "user_id"], :name => "points_idx"
90 add_index "gps_points", ["user_id"], :name => "points_uid_idx"
91 add_index "gps_points", ["gpx_id"], :name => "points_gpxid_idx"
93 create_table "gpx_file_tags", myisam_table do |t|
94 t.column "gpx_id", :bigint, :limit => 64, :default => 0, :null => false
95 t.column "tag", :string
96 t.column "id", :bigint_pk, :null => false
99 add_index "gpx_file_tags", ["gpx_id"], :name => "gpx_file_tags_gpxid_idx"
101 create_table "gpx_files", myisam_table do |t|
102 t.column "id", :bigint_pk_64, :null => false
103 t.column "user_id", :bigint, :limit => 20
104 t.column "visible", :boolean, :default => true, :null => false
105 t.column "name", :string, :default => "", :null => false
106 t.column "size", :bigint, :limit => 20
107 t.column "latitude", :double
108 t.column "longitude", :double
109 t.column "timestamp", :datetime
110 t.column "public", :boolean, :default => true, :null => false
111 t.column "description", :string, :default => ""
112 t.column "inserted", :boolean
115 add_index "gpx_files", ["timestamp"], :name => "gpx_files_timestamp_idx"
116 add_index "gpx_files", ["visible", "public"], :name => "gpx_files_visible_public_idx"
118 create_table "gpx_pending_files", myisam_table do |t|
119 t.column "originalname", :string
120 t.column "tmpname", :string
121 t.column "user_id", :bigint, :limit => 20
124 create_table "messages", myisam_table do |t|
125 t.column "id", :bigint_pk, :null => false
126 t.column "user_id", :bigint, :limit => 20, :null => false
127 t.column "from_user_id", :bigint, :limit => 20, :null => false
128 t.column "from_display_name", :string, :default => ""
129 t.column "title", :string
130 t.column "body", :text
131 t.column "sent_on", :datetime
132 t.column "message_read", :boolean, :default => false
133 t.column "to_user_id", :bigint, :limit => 20, :null => false
136 add_index "messages", ["from_display_name"], :name => "from_name_idx"
138 create_table "meta_areas", myisam_table do |t|
139 t.column "id", :bigint_pk_64, :null => false
140 t.column "user_id", :bigint, :limit => 20
141 t.column "timestamp", :datetime
144 create_table "nodes", myisam_table do |t|
145 t.column "id", :bigint, :limit => 64
146 t.column "latitude", :double
147 t.column "longitude", :double
148 t.column "user_id", :bigint, :limit => 20
149 t.column "visible", :boolean
150 t.column "tags", :text, :default => "", :null => false
151 t.column "timestamp", :datetime
154 add_index "nodes", ["id"], :name => "nodes_uid_idx"
155 add_index "nodes", ["latitude", "longitude"], :name => "nodes_latlon_idx"
157 create_table "segments", myisam_table do |t|
158 t.column "id", :bigint, :limit => 64
159 t.column "node_a", :bigint, :limit => 64
160 t.column "node_b", :bigint, :limit => 64
161 t.column "user_id", :bigint, :limit => 20
162 t.column "visible", :boolean
163 t.column "tags", :text, :default => "", :null => false
164 t.column "timestamp", :datetime
167 add_index "segments", ["node_a"], :name => "street_segments_nodea_idx"
168 add_index "segments", ["node_b"], :name => "street_segments_nodeb_idx"
169 add_index "segments", ["id"], :name => "street_segment_uid_idx"
171 create_table "users", innodb_table do |t|
172 t.column "email", :string
173 t.column "id", :bigint_pk, :null => false
174 t.column "token", :string
175 t.column "active", :integer, :default => 0, :null => false
176 t.column "pass_crypt", :string
177 t.column "creation_time", :datetime
178 t.column "timeout", :datetime
179 t.column "display_name", :string, :default => ""
180 t.column "preferences", :text
181 t.column "data_public", :boolean, :default => false
182 t.column "description", :text, :default => "", :null => false
183 t.column "home_lat", :double, :default => 1
184 t.column "home_lon", :double, :default => 1
185 t.column "within_lon", :double
186 t.column "within_lat", :double
187 t.column "home_zoom", :integer, :limit => 2, :default => 3
190 add_index "users", ["email"], :name => "users_email_idx"
191 add_index "users", ["display_name"], :name => "users_display_name_idx"
193 create_table "way_segments", myisam_table do |t|
194 t.column "id", :bigint, :limit => 64, :default => 0, :null => false
195 t.column "segment_id", :integer
196 t.column "version", :bigint, :limit => 20, :default => 0, :null => false
197 t.column "sequence_id", :bigint, :limit => 11, :null => false
200 add_primary_key "way_segments", ["id", "version", "sequence_id"]
202 change_column "way_segments", "sequence_id", :bigint_auto_11
204 create_table "way_tags", myisam_table do |t|
205 t.column "id", :bigint, :limit => 64, :default => 0, :null => false
206 t.column "k", :string
207 t.column "v", :string
208 t.column "version", :bigint, :limit => 20
211 add_index "way_tags", ["id", "version"], :name => "way_tags_id_version_idx"
213 create_table "ways", myisam_table do |t|
214 t.column "id", :bigint, :limit => 64, :default => 0, :null => false
215 t.column "user_id", :bigint, :limit => 20
216 t.column "timestamp", :datetime
217 t.column "version", :bigint, :limit => 20, :null => false
218 t.column "visible", :boolean, :default => true
221 add_primary_key "ways", ["id", "version"]
222 add_index "ways", ["id"], :name => "ways_id_version_idx"
224 change_column "ways", "version", :bigint_auto_20