master
1# This file is auto-generated from the current state of the database. Instead
2# of editing this file, please use the migrations feature of Active Record to
3# incrementally modify your database, and then regenerate this schema definition.
4#
5# Note that this schema.rb definition is the authoritative source for your
6# database schema. If you need to create the application database on another
7# system, you should be using db:schema:load, not running all the migrations
8# from scratch. The latter is a flawed and unsustainable approach (the more migrations
9# you'll amass, the slower it'll run and the greater likelihood for issues).
10#
11# It's strongly recommended that you check this file into your version control system.
12
13ActiveRecord::Schema.define(version: 20170923150621) do
14
15 # These are extensions that must be enabled in order to support this database
16 enable_extension "plpgsql"
17 enable_extension "uuid-ossp"
18
19 create_table "activities", force: :cascade do |t|
20 t.integer "subject_id", null: false
21 t.string "subject_type", limit: 255, null: false
22 t.integer "user_id", null: false
23 t.datetime "created_at", null: false
24 t.datetime "updated_at", null: false
25 t.index ["subject_id"], name: "index_activities_on_subject_id", using: :btree
26 t.index ["subject_type"], name: "index_activities_on_subject_type", using: :btree
27 t.index ["user_id"], name: "index_activities_on_user_id", using: :btree
28 end
29
30 create_table "avatars", force: :cascade do |t|
31 t.integer "user_id"
32 t.datetime "created_at", null: false
33 t.datetime "updated_at", null: false
34 t.string "avatar", limit: 255
35 t.boolean "avatar_processing"
36 t.string "avatar_tmp", limit: 255
37 t.index ["user_id"], name: "index_avatars_on_user_id", using: :btree
38 end
39
40 create_table "categories", force: :cascade do |t|
41 t.string "name", limit: 255
42 t.datetime "created_at"
43 t.datetime "updated_at"
44 t.string "slug", limit: 255
45 t.index ["slug"], name: "index_categories_on_slug", using: :btree
46 end
47
48 create_table "comments", force: :cascade do |t|
49 t.integer "user_id"
50 t.integer "creation_id"
51 t.string "text", limit: 255
52 t.integer "disqus_id"
53 t.datetime "created_at"
54 t.datetime "updated_at"
55 t.index ["creation_id"], name: "index_comments_on_creation_id", using: :btree
56 t.index ["user_id"], name: "index_comments_on_user_id", using: :btree
57 end
58
59 create_table "creations", force: :cascade do |t|
60 t.string "name", limit: 255
61 t.text "story"
62 t.datetime "created_at"
63 t.datetime "updated_at"
64 t.integer "user_id"
65 t.string "image", limit: 255
66 t.string "watermark", limit: 255
67 t.integer "photos_count", default: 0
68 t.integer "favorites_count", default: 0
69 t.integer "category_id"
70 t.index ["category_id"], name: "index_creations_on_category_id", using: :btree
71 t.index ["created_at"], name: "index_creations_on_created_at", using: :btree
72 t.index ["user_id"], name: "index_creations_on_user_id", using: :btree
73 end
74
75 create_table "delayed_jobs", force: :cascade do |t|
76 t.integer "priority", default: 0
77 t.integer "attempts", default: 0
78 t.text "handler"
79 t.text "last_error"
80 t.datetime "run_at"
81 t.datetime "locked_at"
82 t.datetime "failed_at"
83 t.string "locked_by", limit: 255
84 t.string "queue", limit: 255
85 t.datetime "created_at", null: false
86 t.datetime "updated_at", null: false
87 t.index ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
88 end
89
90 create_table "favorites", id: :integer, default: -> { "nextval('likes_id_seq'::regclass)" }, force: :cascade do |t|
91 t.integer "user_id"
92 t.integer "creation_id"
93 t.datetime "created_at"
94 t.datetime "updated_at"
95 t.index ["creation_id"], name: "index_favorites_on_creation_id", using: :btree
96 t.index ["user_id"], name: "index_favorites_on_user_id", using: :btree
97 end
98
99 create_table "interests", force: :cascade do |t|
100 t.string "name", limit: 255
101 t.datetime "created_at", null: false
102 t.datetime "updated_at", null: false
103 end
104
105 create_table "locations", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
106 t.uuid "locatable_id"
107 t.string "locatable_type", limit: 255
108 t.string "latitude", limit: 255
109 t.string "longitude", limit: 255
110 t.string "city", limit: 255
111 t.string "country", limit: 255
112 t.datetime "created_at"
113 t.datetime "updated_at"
114 t.index ["locatable_id", "locatable_type"], name: "index_locations_on_locatable_id_and_locatable_type", using: :btree
115 end
116
117 create_table "photos", force: :cascade do |t|
118 t.integer "imageable_id"
119 t.string "image", limit: 255
120 t.datetime "created_at"
121 t.datetime "updated_at"
122 t.string "image_tmp", limit: 255
123 t.boolean "image_processing"
124 t.string "content_type", limit: 255
125 t.string "original_filename", limit: 255
126 t.float "latitude"
127 t.float "longitude"
128 t.string "sha256", limit: 255
129 t.string "watermark", limit: 255
130 t.string "imageable_type", limit: 255
131 t.index ["imageable_id", "imageable_type"], name: "index_photos_on_imageable_id_and_imageable_type", using: :btree
132 t.index ["imageable_id"], name: "index_photos_on_imageable_id", using: :btree
133 end
134
135 create_table "taggings", force: :cascade do |t|
136 t.integer "tag_id"
137 t.integer "taggable_id"
138 t.string "taggable_type", limit: 255
139 t.integer "tagger_id"
140 t.string "tagger_type", limit: 255
141 t.string "context", limit: 128
142 t.datetime "created_at"
143 t.index ["context"], name: "index_taggings_on_context", using: :btree
144 t.index ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true, using: :btree
145 t.index ["tag_id"], name: "index_taggings_on_tag_id", using: :btree
146 t.index ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context", using: :btree
147 t.index ["taggable_id", "taggable_type", "tagger_id", "context"], name: "taggings_idy", using: :btree
148 t.index ["taggable_id"], name: "index_taggings_on_taggable_id", using: :btree
149 t.index ["taggable_type"], name: "index_taggings_on_taggable_type", using: :btree
150 t.index ["tagger_id", "tagger_type"], name: "index_taggings_on_tagger_id_and_tagger_type", using: :btree
151 t.index ["tagger_id"], name: "index_taggings_on_tagger_id", using: :btree
152 t.index ["tagger_type"], name: "index_taggings_on_tagger_type", using: :btree
153 end
154
155 create_table "tags", force: :cascade do |t|
156 t.string "name", limit: 255
157 t.integer "taggings_count", default: 0
158 t.index ["name"], name: "index_tags_on_name", unique: true, using: :btree
159 end
160
161 create_table "tools", force: :cascade do |t|
162 t.string "name", null: false
163 t.text "description"
164 t.string "asin", null: false
165 t.datetime "created_at"
166 t.datetime "updated_at"
167 t.index ["asin"], name: "index_tools_on_asin", using: :btree
168 t.index ["name"], name: "index_tools_on_name", unique: true, using: :btree
169 end
170
171 create_table "tutorials", force: :cascade do |t|
172 t.string "heading", limit: 255
173 t.text "description"
174 t.string "url", limit: 255
175 t.integer "user_id"
176 t.datetime "created_at", null: false
177 t.datetime "updated_at", null: false
178 t.string "image_url", limit: 255
179 t.string "author", limit: 255
180 t.string "author_url", limit: 255
181 t.index ["user_id"], name: "index_tutorials_on_user_id", using: :btree
182 end
183
184 create_table "user_sessions", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
185 t.integer "user_id"
186 t.datetime "created_at"
187 t.datetime "updated_at"
188 t.string "key", limit: 255
189 t.string "ip", limit: 255
190 t.text "user_agent"
191 t.datetime "accessed_at"
192 t.datetime "revoked_at"
193 t.index ["accessed_at"], name: "index_user_sessions_on_accessed_at", using: :btree
194 t.index ["key"], name: "index_user_sessions_on_key", using: :btree
195 t.index ["revoked_at"], name: "index_user_sessions_on_revoked_at", using: :btree
196 t.index ["user_id"], name: "index_user_sessions_on_user_id", using: :btree
197 end
198
199 create_table "users", force: :cascade do |t|
200 t.string "email", limit: 255, default: "", null: false
201 t.string "password_digest", limit: 128, default: "", null: false
202 t.string "reset_password_token", limit: 255
203 t.datetime "reset_password_sent_at"
204 t.datetime "created_at"
205 t.datetime "updated_at"
206 t.string "name", limit: 255
207 t.string "website", limit: 255
208 t.string "twitter", limit: 255
209 t.string "facebook", limit: 255
210 t.string "city", limit: 255
211 t.string "authentication_token", limit: 255
212 t.string "full_address", limit: 255
213 t.integer "creations_count", default: 0
214 t.boolean "admin"
215 t.integer "photos_count", default: 0
216 t.index ["authentication_token"], name: "index_users_on_authentication_token", unique: true, using: :btree
217 t.index ["created_at"], name: "index_users_on_created_at", using: :btree
218 t.index ["email"], name: "index_users_on_email", unique: true, using: :btree
219 t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
220 end
221
222 create_table "users_interests", id: false, force: :cascade do |t|
223 t.integer "user_id"
224 t.integer "interest_id"
225 t.index ["interest_id", "user_id"], name: "index_users_interests_on_interest_id_and_user_id", using: :btree
226 end
227
228end