diff options
Diffstat (limited to 'db')
5 files changed, 189 insertions, 89 deletions
diff --git a/db/migrate/20221210170526_add_service_name_to_active_storage_blobs.active_storage.rb b/db/migrate/20221210170526_add_service_name_to_active_storage_blobs.active_storage.rb new file mode 100644 index 0000000..a15c6ce --- /dev/null +++ b/db/migrate/20221210170526_add_service_name_to_active_storage_blobs.active_storage.rb | |||
@@ -0,0 +1,22 @@ | |||
1 | # This migration comes from active_storage (originally 20190112182829) | ||
2 | class AddServiceNameToActiveStorageBlobs < ActiveRecord::Migration[6.0] | ||
3 | def up | ||
4 | return unless table_exists?(:active_storage_blobs) | ||
5 | |||
6 | unless column_exists?(:active_storage_blobs, :service_name) | ||
7 | add_column :active_storage_blobs, :service_name, :string | ||
8 | |||
9 | if configured_service = ActiveStorage::Blob.service.name | ||
10 | ActiveStorage::Blob.unscoped.update_all(service_name: configured_service) | ||
11 | end | ||
12 | |||
13 | change_column :active_storage_blobs, :service_name, :string, null: false | ||
14 | end | ||
15 | end | ||
16 | |||
17 | def down | ||
18 | return unless table_exists?(:active_storage_blobs) | ||
19 | |||
20 | remove_column :active_storage_blobs, :service_name | ||
21 | end | ||
22 | end | ||
diff --git a/db/migrate/20221210170527_create_active_storage_variant_records.active_storage.rb b/db/migrate/20221210170527_create_active_storage_variant_records.active_storage.rb new file mode 100644 index 0000000..94ac83a --- /dev/null +++ b/db/migrate/20221210170527_create_active_storage_variant_records.active_storage.rb | |||
@@ -0,0 +1,27 @@ | |||
1 | # This migration comes from active_storage (originally 20191206030411) | ||
2 | class CreateActiveStorageVariantRecords < ActiveRecord::Migration[6.0] | ||
3 | def change | ||
4 | return unless table_exists?(:active_storage_blobs) | ||
5 | |||
6 | # Use Active Record's configured type for primary key | ||
7 | create_table :active_storage_variant_records, id: primary_key_type, if_not_exists: true do |t| | ||
8 | t.belongs_to :blob, null: false, index: false, type: blobs_primary_key_type | ||
9 | t.string :variation_digest, null: false | ||
10 | |||
11 | t.index %i[ blob_id variation_digest ], name: "index_active_storage_variant_records_uniqueness", unique: true | ||
12 | t.foreign_key :active_storage_blobs, column: :blob_id | ||
13 | end | ||
14 | end | ||
15 | |||
16 | private | ||
17 | def primary_key_type | ||
18 | config = Rails.configuration.generators | ||
19 | config.options[config.orm][:primary_key_type] || :primary_key | ||
20 | end | ||
21 | |||
22 | def blobs_primary_key_type | ||
23 | pkey_name = connection.primary_key(:active_storage_blobs) | ||
24 | pkey_column = connection.columns(:active_storage_blobs).find { |c| c.name == pkey_name } | ||
25 | pkey_column.bigint? ? :bigint : pkey_column.type | ||
26 | end | ||
27 | end | ||
diff --git a/db/migrate/20221210170528_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb b/db/migrate/20221210170528_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb new file mode 100644 index 0000000..93c8b85 --- /dev/null +++ b/db/migrate/20221210170528_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb | |||
@@ -0,0 +1,8 @@ | |||
1 | # This migration comes from active_storage (originally 20211119233751) | ||
2 | class RemoveNotNullOnActiveStorageBlobsChecksum < ActiveRecord::Migration[6.0] | ||
3 | def change | ||
4 | return unless table_exists?(:active_storage_blobs) | ||
5 | |||
6 | change_column_null(:active_storage_blobs, :checksum, true) | ||
7 | end | ||
8 | end | ||
diff --git a/db/migrate/20221210170549_create_lingo_scores.lingo.rb b/db/migrate/20221210170549_create_lingo_scores.lingo.rb new file mode 100644 index 0000000..f56790f --- /dev/null +++ b/db/migrate/20221210170549_create_lingo_scores.lingo.rb | |||
@@ -0,0 +1,13 @@ | |||
1 | # This migration comes from lingo (originally 20221210011146) | ||
2 | class CreateLingoScores < ActiveRecord::Migration[7.0] | ||
3 | def change | ||
4 | create_table :lingo_scores do |t| | ||
5 | t.integer :user_id | ||
6 | t.string :username | ||
7 | t.string :avatar_url | ||
8 | t.integer :score | ||
9 | |||
10 | t.timestamps | ||
11 | end | ||
12 | end | ||
13 | end | ||
diff --git a/db/schema.rb b/db/schema.rb index 0ae9b11..0b14b24 100644 --- a/db/schema.rb +++ b/db/schema.rb | |||
@@ -2,17 +2,16 @@ | |||
2 | # of editing this file, please use the migrations feature of Active Record to | 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. | 3 | # incrementally modify your database, and then regenerate this schema definition. |
4 | # | 4 | # |
5 | # Note that this schema.rb definition is the authoritative source for your | 5 | # This file is the source Rails uses to define your schema when running `bin/rails |
6 | # database schema. If you need to create the application database on another | 6 | # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to |
7 | # system, you should be using db:schema:load, not running all the migrations | 7 | # be faster and is potentially less error prone than running all of your |
8 | # from scratch. The latter is a flawed and unsustainable approach (the more migrations | 8 | # migrations from scratch. Old migrations may fail to apply correctly if those |
9 | # you'll amass, the slower it'll run and the greater likelihood for issues). | 9 | # migrations use external dependencies or application code. |
10 | # | 10 | # |
11 | # It's strongly recommended that you check this file into your version control system. | 11 | # It's strongly recommended that you check this file into your version control system. |
12 | 12 | ||
13 | ActiveRecord::Schema.define(version: 2019_03_13_123149) do | 13 | ActiveRecord::Schema[7.0].define(version: 2022_12_10_170549) do |
14 | 14 | create_table "audits", force: :cascade do |t| | |
15 | create_table "audits", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| | ||
16 | t.integer "auditable_id" | 15 | t.integer "auditable_id" |
17 | t.string "auditable_type" | 16 | t.string "auditable_type" |
18 | t.integer "associated_id" | 17 | t.integer "associated_id" |
@@ -26,7 +25,7 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
26 | t.string "comment" | 25 | t.string "comment" |
27 | t.string "remote_address" | 26 | t.string "remote_address" |
28 | t.string "request_uuid" | 27 | t.string "request_uuid" |
29 | t.datetime "created_at" | 28 | t.datetime "created_at", precision: nil |
30 | t.index ["associated_type", "associated_id"], name: "associated_index" | 29 | t.index ["associated_type", "associated_id"], name: "associated_index" |
31 | t.index ["auditable_type", "auditable_id", "version"], name: "auditable_index" | 30 | t.index ["auditable_type", "auditable_id", "version"], name: "auditable_index" |
32 | t.index ["created_at"], name: "index_audits_on_created_at" | 31 | t.index ["created_at"], name: "index_audits_on_created_at" |
@@ -34,17 +33,17 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
34 | t.index ["user_id", "user_type"], name: "user_index" | 33 | t.index ["user_id", "user_type"], name: "user_index" |
35 | end | 34 | end |
36 | 35 | ||
37 | create_table "blogs", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 36 | create_table "blogs", force: :cascade do |t| |
38 | t.string "title" | 37 | t.string "title" |
39 | t.text "body" | 38 | t.text "body" |
40 | t.string "slug" | 39 | t.string "slug" |
41 | t.datetime "created_at", null: false | 40 | t.datetime "created_at", precision: nil, null: false |
42 | t.datetime "updated_at", null: false | 41 | t.datetime "updated_at", precision: nil, null: false |
43 | t.boolean "published", default: false, null: false | 42 | t.boolean "published", default: false, null: false |
44 | t.datetime "published_at" | 43 | t.datetime "published_at", precision: nil |
45 | end | 44 | end |
46 | 45 | ||
47 | create_table "ckeditor_assets", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 46 | create_table "ckeditor_assets", force: :cascade do |t| |
48 | t.string "data_file_name", null: false | 47 | t.string "data_file_name", null: false |
49 | t.string "data_content_type" | 48 | t.string "data_content_type" |
50 | t.integer "data_file_size" | 49 | t.integer "data_file_size" |
@@ -52,67 +51,76 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
52 | t.string "type", limit: 30 | 51 | t.string "type", limit: 30 |
53 | t.integer "width" | 52 | t.integer "width" |
54 | t.integer "height" | 53 | t.integer "height" |
55 | t.datetime "created_at", null: false | 54 | t.datetime "created_at", precision: nil, null: false |
56 | t.datetime "updated_at", null: false | 55 | t.datetime "updated_at", precision: nil, null: false |
57 | t.index ["type"], name: "index_ckeditor_assets_on_type" | 56 | t.index ["type"], name: "index_ckeditor_assets_on_type" |
58 | end | 57 | end |
59 | 58 | ||
60 | create_table "games", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| | 59 | create_table "games", force: :cascade do |t| |
61 | t.string "title" | 60 | t.string "title" |
62 | t.string "status" | 61 | t.string "status" |
63 | t.text "progress" | 62 | t.text "progress" |
64 | t.text "description" | 63 | t.text "description" |
65 | t.integer "score" | 64 | t.integer "score" |
66 | t.datetime "created_at", null: false | 65 | t.datetime "created_at", precision: nil, null: false |
67 | t.datetime "updated_at", null: false | 66 | t.datetime "updated_at", precision: nil, null: false |
68 | t.date "started_on" | 67 | t.date "started_on" |
69 | t.date "finished_on" | 68 | t.date "finished_on" |
70 | end | 69 | end |
71 | 70 | ||
72 | create_table "links", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| | 71 | create_table "lingo_scores", force: :cascade do |t| |
73 | t.string "title", null: false | 72 | t.integer "user_id" |
74 | t.string "url", null: false | 73 | t.string "username" |
74 | t.string "avatar_url" | ||
75 | t.integer "score" | ||
75 | t.datetime "created_at", null: false | 76 | t.datetime "created_at", null: false |
76 | t.datetime "updated_at", null: false | 77 | t.datetime "updated_at", null: false |
77 | end | 78 | end |
78 | 79 | ||
79 | create_table "pokeviewer_abilities", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 80 | create_table "links", force: :cascade do |t| |
80 | t.string "name", null: false | 81 | t.string "title", null: false |
82 | t.string "url", null: false | ||
83 | t.datetime "created_at", precision: nil, null: false | ||
84 | t.datetime "updated_at", precision: nil, null: false | ||
85 | end | ||
86 | |||
87 | create_table "pokeviewer_abilities", force: :cascade do |t| | ||
88 | t.string "name", limit: 191, null: false | ||
81 | t.string "description", null: false | 89 | t.string "description", null: false |
82 | t.datetime "created_at", null: false | 90 | t.datetime "created_at", precision: nil, null: false |
83 | t.datetime "updated_at", null: false | 91 | t.datetime "updated_at", precision: nil, null: false |
84 | t.index ["name"], name: "index_pokeviewer_abilities_on_name", unique: true | 92 | t.index ["name"], name: "index_pokeviewer_abilities_on_name", unique: true |
85 | end | 93 | end |
86 | 94 | ||
87 | create_table "pokeviewer_gift_ribbons", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 95 | create_table "pokeviewer_gift_ribbons", force: :cascade do |t| |
88 | t.string "description", null: false | 96 | t.string "description", null: false |
89 | t.datetime "created_at", null: false | 97 | t.datetime "created_at", precision: nil, null: false |
90 | t.datetime "updated_at", null: false | 98 | t.datetime "updated_at", precision: nil, null: false |
91 | end | 99 | end |
92 | 100 | ||
93 | create_table "pokeviewer_items", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 101 | create_table "pokeviewer_items", force: :cascade do |t| |
94 | t.string "name", null: false | 102 | t.string "name", null: false |
95 | t.boolean "tm", default: false, null: false | 103 | t.boolean "tm", default: false, null: false |
96 | t.integer "move_id" | 104 | t.integer "move_id" |
97 | t.string "rs_description" | 105 | t.string "rs_description" |
98 | t.string "frlg_description" | 106 | t.string "frlg_description" |
99 | t.string "emerald_description" | 107 | t.string "emerald_description" |
100 | t.datetime "created_at", null: false | 108 | t.datetime "created_at", precision: nil, null: false |
101 | t.datetime "updated_at", null: false | 109 | t.datetime "updated_at", precision: nil, null: false |
102 | t.index ["move_id"], name: "index_pokeviewer_items_on_move_id" | 110 | t.index ["move_id"], name: "index_pokeviewer_items_on_move_id" |
103 | end | 111 | end |
104 | 112 | ||
105 | create_table "pokeviewer_locations", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 113 | create_table "pokeviewer_locations", force: :cascade do |t| |
106 | t.string "name", null: false | 114 | t.string "name", null: false |
107 | t.datetime "created_at", null: false | 115 | t.datetime "created_at", precision: nil, null: false |
108 | t.datetime "updated_at", null: false | 116 | t.datetime "updated_at", precision: nil, null: false |
109 | end | 117 | end |
110 | 118 | ||
111 | create_table "pokeviewer_moves", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 119 | create_table "pokeviewer_moves", force: :cascade do |t| |
112 | t.string "name", null: false | 120 | t.string "name", limit: 191, null: false |
113 | t.integer "pp", null: false | 121 | t.integer "pp", null: false |
114 | t.datetime "created_at", null: false | 122 | t.datetime "created_at", precision: nil, null: false |
115 | t.datetime "updated_at", null: false | 123 | t.datetime "updated_at", precision: nil, null: false |
116 | t.string "move_type", null: false | 124 | t.string "move_type", null: false |
117 | t.string "rs_description", null: false | 125 | t.string "rs_description", null: false |
118 | t.string "frlg_description", null: false | 126 | t.string "frlg_description", null: false |
@@ -120,21 +128,21 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
120 | t.index ["name"], name: "index_pokeviewer_moves_on_name", unique: true | 128 | t.index ["name"], name: "index_pokeviewer_moves_on_name", unique: true |
121 | end | 129 | end |
122 | 130 | ||
123 | create_table "pokeviewer_pokedex_entries", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 131 | create_table "pokeviewer_pokedex_entries", force: :cascade do |t| |
124 | t.bigint "trainer_id" | 132 | t.integer "trainer_id" |
125 | t.bigint "species_id" | 133 | t.integer "species_id" |
126 | t.boolean "caught", default: false | 134 | t.boolean "caught", default: false |
127 | t.datetime "created_at", null: false | 135 | t.datetime "created_at", precision: nil, null: false |
128 | t.datetime "updated_at", null: false | 136 | t.datetime "updated_at", precision: nil, null: false |
129 | t.index ["species_id"], name: "index_pokeviewer_pokedex_entries_on_species_id" | 137 | t.index ["species_id"], name: "index_pokeviewer_pokedex_entries_on_species_id" |
130 | t.index ["trainer_id", "species_id"], name: "index_pokeviewer_pokedex_entries_on_trainer_id_and_species_id", unique: true | 138 | t.index ["trainer_id", "species_id"], name: "index_pokeviewer_pokedex_entries_on_trainer_id_and_species_id", unique: true |
131 | t.index ["trainer_id"], name: "index_pokeviewer_pokedex_entries_on_trainer_id" | 139 | t.index ["trainer_id"], name: "index_pokeviewer_pokedex_entries_on_trainer_id" |
132 | end | 140 | end |
133 | 141 | ||
134 | create_table "pokeviewer_pokemon", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 142 | create_table "pokeviewer_pokemon", force: :cascade do |t| |
135 | t.string "uuid", null: false | 143 | t.string "uuid", limit: 191, null: false |
136 | t.integer "trainer_id" | 144 | t.integer "trainer_id" |
137 | t.string "key" | 145 | t.string "key", limit: 191 |
138 | t.string "ot_name", null: false | 146 | t.string "ot_name", null: false |
139 | t.integer "ot_number", null: false | 147 | t.integer "ot_number", null: false |
140 | t.string "met_type", null: false | 148 | t.string "met_type", null: false |
@@ -144,21 +152,22 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
144 | t.string "gender", null: false | 152 | t.string "gender", null: false |
145 | t.boolean "second_ability", null: false | 153 | t.boolean "second_ability", null: false |
146 | t.string "unown_letter", limit: 1 | 154 | t.string "unown_letter", limit: 1 |
147 | t.datetime "created_at", null: false | 155 | t.datetime "created_at", precision: nil, null: false |
148 | t.datetime "updated_at", null: false | 156 | t.datetime "updated_at", precision: nil, null: false |
149 | t.string "ot_gender", default: "", null: false | 157 | t.string "ot_gender", default: "", null: false |
150 | t.integer "box" | 158 | t.integer "box" |
151 | t.integer "slot" | 159 | t.integer "slot" |
152 | t.integer "location_id" | 160 | t.integer "location_id" |
153 | t.string "pokeball", null: false | 161 | t.string "pokeball", null: false |
154 | t.bigint "current_id" | 162 | t.integer "current_id" |
155 | t.index ["current_id"], name: "index_pokeviewer_pokemon_on_current_id" | 163 | t.index ["current_id"], name: "index_pokeviewer_pokemon_on_current_id" |
156 | t.index ["key"], name: "index_pokeviewer_pokemon_on_key", unique: true | 164 | t.index ["key"], name: "index_pokeviewer_pokemon_on_key", unique: true |
165 | t.index ["location_id"], name: "index_pokeviewer_pokemon_on_location_id" | ||
157 | t.index ["trainer_id"], name: "index_pokeviewer_pokemon_on_trainer_id" | 166 | t.index ["trainer_id"], name: "index_pokeviewer_pokemon_on_trainer_id" |
158 | t.index ["uuid"], name: "index_pokeviewer_pokemon_on_uuid", unique: true | 167 | t.index ["uuid"], name: "index_pokeviewer_pokemon_on_uuid", unique: true |
159 | end | 168 | end |
160 | 169 | ||
161 | create_table "pokeviewer_revisions", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 170 | create_table "pokeviewer_revisions", force: :cascade do |t| |
162 | t.integer "pokemon_id", null: false | 171 | t.integer "pokemon_id", null: false |
163 | t.integer "sequential_id", null: false | 172 | t.integer "sequential_id", null: false |
164 | t.string "nickname", null: false | 173 | t.string "nickname", null: false |
@@ -176,7 +185,6 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
176 | t.integer "smartness", null: false | 185 | t.integer "smartness", null: false |
177 | t.integer "toughness", null: false | 186 | t.integer "toughness", null: false |
178 | t.integer "sheen", null: false | 187 | t.integer "sheen", null: false |
179 | t.integer "item_id" | ||
180 | t.integer "move_1_id", null: false | 188 | t.integer "move_1_id", null: false |
181 | t.integer "move_2_id" | 189 | t.integer "move_2_id" |
182 | t.integer "move_3_id" | 190 | t.integer "move_3_id" |
@@ -185,8 +193,8 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
185 | t.integer "move_2_pp_bonuses", default: 0, null: false | 193 | t.integer "move_2_pp_bonuses", default: 0, null: false |
186 | t.integer "move_3_pp_bonuses", default: 0, null: false | 194 | t.integer "move_3_pp_bonuses", default: 0, null: false |
187 | t.integer "move_4_pp_bonuses", default: 0, null: false | 195 | t.integer "move_4_pp_bonuses", default: 0, null: false |
188 | t.datetime "created_at", null: false | 196 | t.datetime "created_at", precision: nil, null: false |
189 | t.datetime "updated_at", null: false | 197 | t.datetime "updated_at", precision: nil, null: false |
190 | t.integer "cool_ribbons", default: 0, null: false | 198 | t.integer "cool_ribbons", default: 0, null: false |
191 | t.integer "beauty_ribbons", default: 0, null: false | 199 | t.integer "beauty_ribbons", default: 0, null: false |
192 | t.integer "cute_ribbons", default: 0, null: false | 200 | t.integer "cute_ribbons", default: 0, null: false |
@@ -204,7 +212,9 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
204 | t.boolean "national_ribbon", default: false | 212 | t.boolean "national_ribbon", default: false |
205 | t.boolean "earth_ribbon", default: false | 213 | t.boolean "earth_ribbon", default: false |
206 | t.boolean "world_ribbon", default: false | 214 | t.boolean "world_ribbon", default: false |
207 | t.bigint "species_id", null: false | 215 | t.integer "item_id" |
216 | t.integer "species_id", null: false | ||
217 | t.index ["item_id"], name: "index_pokeviewer_revisions_on_item_id" | ||
208 | t.index ["move_1_id"], name: "index_pokeviewer_revisions_on_move_1_id" | 218 | t.index ["move_1_id"], name: "index_pokeviewer_revisions_on_move_1_id" |
209 | t.index ["move_2_id"], name: "index_pokeviewer_revisions_on_move_2_id" | 219 | t.index ["move_2_id"], name: "index_pokeviewer_revisions_on_move_2_id" |
210 | t.index ["move_3_id"], name: "index_pokeviewer_revisions_on_move_3_id" | 220 | t.index ["move_3_id"], name: "index_pokeviewer_revisions_on_move_3_id" |
@@ -214,23 +224,25 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
214 | t.index ["species_id"], name: "index_pokeviewer_revisions_on_species_id" | 224 | t.index ["species_id"], name: "index_pokeviewer_revisions_on_species_id" |
215 | end | 225 | end |
216 | 226 | ||
217 | create_table "pokeviewer_species", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 227 | create_table "pokeviewer_species", force: :cascade do |t| |
218 | t.string "name", null: false | 228 | t.string "name", limit: 191, null: false |
219 | t.datetime "created_at", null: false | 229 | t.datetime "created_at", precision: nil, null: false |
220 | t.datetime "updated_at", null: false | 230 | t.datetime "updated_at", precision: nil, null: false |
221 | t.string "type_1", null: false | 231 | t.string "type_1", null: false |
222 | t.string "type_2" | 232 | t.string "type_2" |
223 | t.integer "ability_1_id", null: false | 233 | t.integer "ability_1_id", null: false |
224 | t.integer "ability_2_id" | 234 | t.integer "ability_2_id" |
235 | t.index ["ability_1_id"], name: "index_pokeviewer_species_on_ability_1_id" | ||
236 | t.index ["ability_2_id"], name: "index_pokeviewer_species_on_ability_2_id" | ||
225 | t.index ["name"], name: "index_pokeviewer_species_on_name", unique: true | 237 | t.index ["name"], name: "index_pokeviewer_species_on_name", unique: true |
226 | end | 238 | end |
227 | 239 | ||
228 | create_table "pokeviewer_trainers", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 240 | create_table "pokeviewer_trainers", force: :cascade do |t| |
229 | t.string "game", null: false | 241 | t.string "game", null: false |
230 | t.string "name", null: false | 242 | t.string "name", limit: 191, null: false |
231 | t.integer "number", null: false | 243 | t.integer "number", null: false |
232 | t.datetime "created_at", null: false | 244 | t.datetime "created_at", precision: nil, null: false |
233 | t.datetime "updated_at", null: false | 245 | t.datetime "updated_at", precision: nil, null: false |
234 | t.integer "marine_ribbon_id" | 246 | t.integer "marine_ribbon_id" |
235 | t.integer "land_ribbon_id" | 247 | t.integer "land_ribbon_id" |
236 | t.integer "sky_ribbon_id" | 248 | t.integer "sky_ribbon_id" |
@@ -262,31 +274,31 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
262 | t.index ["world_ribbon_id"], name: "index_pokeviewer_trainers_on_world_ribbon_id" | 274 | t.index ["world_ribbon_id"], name: "index_pokeviewer_trainers_on_world_ribbon_id" |
263 | end | 275 | end |
264 | 276 | ||
265 | create_table "records", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 277 | create_table "records", force: :cascade do |t| |
266 | t.text "description" | 278 | t.text "description" |
267 | t.string "recordable_type" | 279 | t.string "recordable_type", limit: 191 |
268 | t.integer "recordable_id" | 280 | t.integer "recordable_id" |
269 | t.datetime "created_at", null: false | 281 | t.datetime "created_at", precision: nil, null: false |
270 | t.datetime "updated_at", null: false | 282 | t.datetime "updated_at", precision: nil, null: false |
271 | t.index ["recordable_type", "recordable_id"], name: "index_records_on_recordable_type_and_recordable_id" | 283 | t.index ["recordable_type", "recordable_id"], name: "index_records_on_recordable_type_and_recordable_id" |
272 | end | 284 | end |
273 | 285 | ||
274 | create_table "streams", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| | 286 | create_table "streams", force: :cascade do |t| |
275 | t.string "title" | 287 | t.string "title" |
276 | t.text "body" | 288 | t.text "body" |
277 | t.string "slug" | 289 | t.string "slug" |
278 | t.datetime "created_at", null: false | 290 | t.datetime "created_at", precision: nil, null: false |
279 | t.datetime "updated_at", null: false | 291 | t.datetime "updated_at", precision: nil, null: false |
280 | end | 292 | end |
281 | 293 | ||
282 | create_table "taggings", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| | 294 | create_table "taggings", force: :cascade do |t| |
283 | t.integer "tag_id" | 295 | t.integer "tag_id" |
284 | t.string "taggable_type" | 296 | t.string "taggable_type" |
285 | t.integer "taggable_id" | 297 | t.integer "taggable_id" |
286 | t.string "tagger_type" | 298 | t.string "tagger_type" |
287 | t.integer "tagger_id" | 299 | t.integer "tagger_id" |
288 | t.string "context", limit: 128 | 300 | t.string "context", limit: 128 |
289 | t.datetime "created_at" | 301 | t.datetime "created_at", precision: nil |
290 | t.index ["context"], name: "index_taggings_on_context" | 302 | t.index ["context"], name: "index_taggings_on_context" |
291 | t.index ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true | 303 | t.index ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true |
292 | t.index ["tag_id"], name: "index_taggings_on_tag_id" | 304 | t.index ["tag_id"], name: "index_taggings_on_tag_id" |
@@ -298,44 +310,62 @@ ActiveRecord::Schema.define(version: 2019_03_13_123149) do | |||
298 | t.index ["tagger_id"], name: "index_taggings_on_tagger_id" | 310 | t.index ["tagger_id"], name: "index_taggings_on_tagger_id" |
299 | end | 311 | end |
300 | 312 | ||
301 | create_table "tags", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| | 313 | create_table "tags", force: :cascade do |t| |
302 | t.string "name", limit: 255, collation: "utf8_bin" | 314 | t.string "name" |
303 | t.integer "taggings_count", default: 0 | 315 | t.integer "taggings_count", default: 0 |
304 | t.index ["name"], name: "index_tags_on_name", unique: true | 316 | t.index ["name"], name: "index_tags_on_name", unique: true |
305 | end | 317 | end |
306 | 318 | ||
307 | create_table "updates", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| | 319 | create_table "updates", force: :cascade do |t| |
308 | t.bigint "stream_id" | 320 | t.integer "stream_id" |
309 | t.text "body" | 321 | t.text "body" |
310 | t.datetime "created_at", null: false | 322 | t.datetime "created_at", precision: nil, null: false |
311 | t.datetime "updated_at", null: false | 323 | t.datetime "updated_at", precision: nil, null: false |
312 | t.index ["stream_id"], name: "index_updates_on_stream_id" | 324 | t.index ["stream_id"], name: "index_updates_on_stream_id" |
313 | end | 325 | end |
314 | 326 | ||
315 | create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t| | 327 | create_table "users", force: :cascade do |t| |
316 | t.string "login", default: "", null: false | 328 | t.string "login", limit: 191, default: "", null: false |
317 | t.string "email", default: "", null: false | 329 | t.string "email", limit: 191, default: "", null: false |
318 | t.string "encrypted_password", default: "", null: false | 330 | t.string "encrypted_password", default: "", null: false |
319 | t.string "reset_password_token" | 331 | t.string "reset_password_token", limit: 191 |
320 | t.datetime "reset_password_sent_at" | 332 | t.datetime "reset_password_sent_at", precision: nil |
321 | t.datetime "remember_created_at" | 333 | t.datetime "remember_created_at", precision: nil |
322 | t.integer "sign_in_count", default: 0, null: false | 334 | t.integer "sign_in_count", default: 0, null: false |
323 | t.datetime "current_sign_in_at" | 335 | t.datetime "current_sign_in_at", precision: nil |
324 | t.datetime "last_sign_in_at" | 336 | t.datetime "last_sign_in_at", precision: nil |
325 | t.string "current_sign_in_ip" | 337 | t.string "current_sign_in_ip" |
326 | t.string "last_sign_in_ip" | 338 | t.string "last_sign_in_ip" |
327 | t.datetime "created_at", null: false | 339 | t.datetime "created_at", precision: nil, null: false |
328 | t.datetime "updated_at", null: false | 340 | t.datetime "updated_at", precision: nil, null: false |
329 | t.string "pokeviewer_token" | 341 | t.string "pokeviewer_token", limit: 191 |
330 | t.index ["email"], name: "index_users_on_email", unique: true | 342 | t.index ["email"], name: "index_users_on_email", unique: true |
331 | t.index ["login"], name: "index_users_on_login", unique: true | 343 | t.index ["login"], name: "index_users_on_login", unique: true |
332 | t.index ["pokeviewer_token"], name: "index_users_on_pokeviewer_token", unique: true | 344 | t.index ["pokeviewer_token"], name: "index_users_on_pokeviewer_token", unique: true |
333 | t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true | 345 | t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true |
334 | end | 346 | end |
335 | 347 | ||
348 | add_foreign_key "pokeviewer_items", "pokeviewer_moves", column: "move_id" | ||
336 | add_foreign_key "pokeviewer_pokedex_entries", "pokeviewer_species", column: "species_id" | 349 | add_foreign_key "pokeviewer_pokedex_entries", "pokeviewer_species", column: "species_id" |
337 | add_foreign_key "pokeviewer_pokedex_entries", "pokeviewer_trainers", column: "trainer_id" | 350 | add_foreign_key "pokeviewer_pokedex_entries", "pokeviewer_trainers", column: "trainer_id" |
351 | add_foreign_key "pokeviewer_pokemon", "pokeviewer_locations", column: "location_id" | ||
338 | add_foreign_key "pokeviewer_pokemon", "pokeviewer_revisions", column: "current_id" | 352 | add_foreign_key "pokeviewer_pokemon", "pokeviewer_revisions", column: "current_id" |
353 | add_foreign_key "pokeviewer_pokemon", "pokeviewer_trainers", column: "trainer_id" | ||
354 | add_foreign_key "pokeviewer_revisions", "pokeviewer_items", column: "item_id" | ||
355 | add_foreign_key "pokeviewer_revisions", "pokeviewer_moves", column: "move_1_id" | ||
356 | add_foreign_key "pokeviewer_revisions", "pokeviewer_moves", column: "move_2_id" | ||
357 | add_foreign_key "pokeviewer_revisions", "pokeviewer_moves", column: "move_3_id" | ||
358 | add_foreign_key "pokeviewer_revisions", "pokeviewer_moves", column: "move_4_id" | ||
359 | add_foreign_key "pokeviewer_revisions", "pokeviewer_pokemon", column: "pokemon_id" | ||
339 | add_foreign_key "pokeviewer_revisions", "pokeviewer_species", column: "species_id" | 360 | add_foreign_key "pokeviewer_revisions", "pokeviewer_species", column: "species_id" |
361 | add_foreign_key "pokeviewer_species", "pokeviewer_abilities", column: "ability_1_id" | ||
362 | add_foreign_key "pokeviewer_species", "pokeviewer_abilities", column: "ability_2_id" | ||
363 | add_foreign_key "pokeviewer_trainers", "pokeviewer_gift_ribbons", column: "country_ribbon_id" | ||
364 | add_foreign_key "pokeviewer_trainers", "pokeviewer_gift_ribbons", column: "earth_ribbon_id" | ||
365 | add_foreign_key "pokeviewer_trainers", "pokeviewer_gift_ribbons", column: "land_ribbon_id" | ||
366 | add_foreign_key "pokeviewer_trainers", "pokeviewer_gift_ribbons", column: "marine_ribbon_id" | ||
367 | add_foreign_key "pokeviewer_trainers", "pokeviewer_gift_ribbons", column: "national_ribbon_id" | ||
368 | add_foreign_key "pokeviewer_trainers", "pokeviewer_gift_ribbons", column: "sky_ribbon_id" | ||
369 | add_foreign_key "pokeviewer_trainers", "pokeviewer_gift_ribbons", column: "world_ribbon_id" | ||
340 | add_foreign_key "updates", "streams" | 370 | add_foreign_key "updates", "streams" |
341 | end | 371 | end |