about summary refs log tree commit diff stats
path: root/db/migrate
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2017-09-30 19:01:56 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2017-09-30 19:01:56 -0400
commit9c022576fa053fd32aaebc7acb2bb44884a623d7 (patch)
tree6aa6d47da389082eab25fa5a49fae1d07ff56c02 /db/migrate
parenta7060addea52af313ed85336dc37949ad8e69f05 (diff)
downloadpokeviewer-9c022576fa053fd32aaebc7acb2bb44884a623d7.tar.gz
pokeviewer-9c022576fa053fd32aaebc7acb2bb44884a623d7.tar.bz2
pokeviewer-9c022576fa053fd32aaebc7acb2bb44884a623d7.zip
Added hold items
An items model was created, but the seed only contains items that can be
held, which excludes key items and HMs. Berry Juice, while unobtainable,
is still included. The item model contains three description fields: one
for Ruby/Sapphire, one for FireRed/LeafGreen, and one for Emerald. This
is because the descriptions for items are different between the games.
In a lot of cases, the Emerald description is the same as the
Ruby/Sapphire one, so in those cases, the Emerald description is nil.
The purpose of having the different descriptions is so that when a
Pokémon holds an item, the website can display the description that is
accurate to the game that that Pokémon is currently in.

In order to fully support TMs, the move model was improved to
additionally contain type and also the three description fields which
operate similarly to those of the item model. For TMs, the description
fields on the item are usually nil. However, some TMs in Ruby/Sapphire,
as well as Emerald, have different descriptions than the moves that
they correspond with. In these cases, those descriptions are in the item
model, and override the move descriptions when the move is looked at as
a TM.
Diffstat (limited to 'db/migrate')
-rw-r--r--db/migrate/20170916234251_create_pokeviewer_pokemon.rb2
-rw-r--r--db/migrate/20170924224550_create_pokeviewer_boxes.rb2
-rw-r--r--db/migrate/20170930185514_create_pokeviewer_items.rb16
-rw-r--r--db/migrate/20170930190647_add_description_and_type_to_moves.rb14
-rw-r--r--db/migrate/20170930213633_rename_revision_hold_item.rb9
5 files changed, 41 insertions, 2 deletions
diff --git a/db/migrate/20170916234251_create_pokeviewer_pokemon.rb b/db/migrate/20170916234251_create_pokeviewer_pokemon.rb index dd9994c..a8b17af 100644 --- a/db/migrate/20170916234251_create_pokeviewer_pokemon.rb +++ b/db/migrate/20170916234251_create_pokeviewer_pokemon.rb
@@ -25,7 +25,7 @@ class CreatePokeviewerPokemon < ActiveRecord::Migration[5.1]
25 add_foreign_key :pokeviewer_pokemon, :pokeviewer_species, 25 add_foreign_key :pokeviewer_pokemon, :pokeviewer_species,
26 column: :species_id 26 column: :species_id
27 27
28 add_foreign_key :pokeviewer_pokemon, :pokeviewer_trainer, 28 add_foreign_key :pokeviewer_pokemon, :pokeviewer_trainers,
29 column: :trainer_id 29 column: :trainer_id
30 end 30 end
31end 31end
diff --git a/db/migrate/20170924224550_create_pokeviewer_boxes.rb b/db/migrate/20170924224550_create_pokeviewer_boxes.rb index 02f6fa9..4db2108 100644 --- a/db/migrate/20170924224550_create_pokeviewer_boxes.rb +++ b/db/migrate/20170924224550_create_pokeviewer_boxes.rb
@@ -8,7 +8,7 @@ class CreatePokeviewerBoxes < ActiveRecord::Migration[5.1]
8 t.timestamps 8 t.timestamps
9 end 9 end
10 10
11 add_foreign_key :pokeviewer_boxes, :pokeviewer_trainer, column: :trainer_id 11 add_foreign_key :pokeviewer_boxes, :pokeviewer_trainers, column: :trainer_id
12 12
13 add_index :pokeviewer_boxes, [:trainer_id, :number], unique: true 13 add_index :pokeviewer_boxes, [:trainer_id, :number], unique: true
14 end 14 end
diff --git a/db/migrate/20170930185514_create_pokeviewer_items.rb b/db/migrate/20170930185514_create_pokeviewer_items.rb new file mode 100644 index 0000000..82cf3c2 --- /dev/null +++ b/db/migrate/20170930185514_create_pokeviewer_items.rb
@@ -0,0 +1,16 @@
1class CreatePokeviewerItems < ActiveRecord::Migration[5.1]
2 def change
3 create_table :pokeviewer_items do |t|
4 t.string :name, null: false
5 t.boolean :tm, null: false, default: false
6 t.references :move, null: true
7 t.string :rs_description
8 t.string :frlg_description
9 t.string :emerald_description
10
11 t.timestamps
12 end
13
14 add_foreign_key :pokeviewer_items, :pokeviewer_moves, column: :move_id
15 end
16end
diff --git a/db/migrate/20170930190647_add_description_and_type_to_moves.rb b/db/migrate/20170930190647_add_description_and_type_to_moves.rb new file mode 100644 index 0000000..d2fe032 --- /dev/null +++ b/db/migrate/20170930190647_add_description_and_type_to_moves.rb
@@ -0,0 +1,14 @@
1class AddDescriptionAndTypeToMoves < ActiveRecord::Migration[5.1]
2 def change
3 change_table :pokeviewer_moves do |t|
4 t.string :move_type, null: false, default: ""
5 t.string :rs_description, null: false, default: ""
6 t.string :frlg_description, null: false, default: ""
7 t.string :emerald_description
8 end
9
10 change_column_default :pokeviewer_moves, :move_type, nil
11 change_column_default :pokeviewer_moves, :rs_description, nil
12 change_column_default :pokeviewer_moves, :frlg_description, nil
13 end
14end
diff --git a/db/migrate/20170930213633_rename_revision_hold_item.rb b/db/migrate/20170930213633_rename_revision_hold_item.rb new file mode 100644 index 0000000..b2ff736 --- /dev/null +++ b/db/migrate/20170930213633_rename_revision_hold_item.rb
@@ -0,0 +1,9 @@
1class RenameRevisionHoldItem < ActiveRecord::Migration[5.1]
2 def change
3 change_table :pokeviewer_revisions do |t|
4 t.rename :hold_item, :item_id
5 end
6
7 add_foreign_key :pokeviewer_revisions, :pokeviewer_items, column: :item_id
8 end
9end