29 lines
783 B
Ruby
29 lines
783 B
Ruby
require_relative '../../versions'
|
|
|
|
Sequel.migration do
|
|
change do
|
|
alter_table(:pokemon) do
|
|
FO::Versions::VERSIONS_BY_GENERATION
|
|
.values
|
|
.map { |g| g[:version_groups] }
|
|
.reduce(&:+)
|
|
.each { |version|
|
|
drop_column ("version_#{version}").to_sym
|
|
drop_column ("version_#{version}_sprite").to_sym
|
|
}
|
|
end
|
|
|
|
create_table(:sprites) do
|
|
primary_key :id
|
|
foreign_key :pokemon_id, :pokemon, null: false, on_delete: :cascade
|
|
File :sprite, null: false
|
|
end
|
|
|
|
create_table(:sprites_versions) do
|
|
foreign_key :version_id, :versions, null: false, on_delete: :cascade
|
|
foreign_key :sprite_id, :versions, null: false, on_delete: :cascade
|
|
primary_key [:version_id, :sprite_id]
|
|
end
|
|
end
|
|
end
|