163 lines
7.0 KiB
Elixir
163 lines
7.0 KiB
Elixir
defmodule Odinsea.Repo.Migrations.CreateMtsTables do
|
|
use Ecto.Migration
|
|
|
|
def up do
|
|
# ============================================================================
|
|
# MTS CART
|
|
# ============================================================================
|
|
|
|
create table(:mts_cart) do
|
|
add :characterid, :integer, null: false, default: 0
|
|
add :itemid, :integer, null: false, default: 0
|
|
end
|
|
|
|
create index(:mts_cart, [:characterid])
|
|
create index(:mts_cart, [:id])
|
|
|
|
# ============================================================================
|
|
# MTS ITEMS (LISTED FOR SALE)
|
|
# ============================================================================
|
|
|
|
create table(:mts_items) do
|
|
add :tab, :integer, null: false, default: 1
|
|
add :price, :integer, null: false, default: 0
|
|
add :characterid, :integer, null: false, default: 0
|
|
add :seller, :string, size: 13, null: false, default: ""
|
|
add :expiration, :bigint, null: false, default: 0
|
|
end
|
|
|
|
# ============================================================================
|
|
# MTS INVENTORY ITEMS
|
|
# ============================================================================
|
|
|
|
create table(:mtsitems) do
|
|
add :characterid, :integer
|
|
add :accountid, :integer
|
|
add :packageid, :integer
|
|
add :itemid, :integer, null: false, default: 0
|
|
add :inventorytype, :integer, null: false, default: 0
|
|
add :position, :integer, null: false, default: 0
|
|
add :quantity, :integer, null: false, default: 0
|
|
add :owner, :string, size: 255
|
|
add :gm_log, :string, size: 255
|
|
add :uniqueid, :integer, null: false, default: -1
|
|
add :flag, :integer, null: false, default: 0
|
|
add :expiredate, :bigint, null: false, default: -1
|
|
add :type, :integer, null: false, default: 0
|
|
add :sender, :string, size: 13, null: false, default: ""
|
|
end
|
|
|
|
create index(:mtsitems, [:characterid], name: :mtsitems_characterid_index)
|
|
create index(:mtsitems, [:inventorytype])
|
|
create index(:mtsitems, [:accountid])
|
|
create index(:mtsitems, [:characterid, :inventorytype], name: :mtsitems_characterid_2_index)
|
|
create index(:mtsitems, [:packageid])
|
|
|
|
create table(:mtsequipment) do
|
|
add :inventoryitemid, references(:mtsitems, on_delete: :delete_all), null: false, default: 0
|
|
add :upgradeslots, :integer, null: false, default: 0
|
|
add :level, :integer, null: false, default: 0
|
|
add :str, :integer, null: false, default: 0
|
|
add :dex, :integer, null: false, default: 0
|
|
add :int, :integer, null: false, default: 0
|
|
add :luk, :integer, null: false, default: 0
|
|
add :hp, :integer, null: false, default: 0
|
|
add :mp, :integer, null: false, default: 0
|
|
add :watk, :integer, null: false, default: 0
|
|
add :matk, :integer, null: false, default: 0
|
|
add :wdef, :integer, null: false, default: 0
|
|
add :mdef, :integer, null: false, default: 0
|
|
add :acc, :integer, null: false, default: 0
|
|
add :avoid, :integer, null: false, default: 0
|
|
add :hands, :integer, null: false, default: 0
|
|
add :speed, :integer, null: false, default: 0
|
|
add :jump, :integer, null: false, default: 0
|
|
add :vicioushammer, :integer, null: false, default: 0
|
|
add :itemexp, :integer, null: false, default: 0
|
|
add :durability, :integer, null: false, default: -1
|
|
add :enhance, :integer, null: false, default: 0
|
|
add :potential1, :integer, null: false, default: 0
|
|
add :potential2, :integer, null: false, default: 0
|
|
add :potential3, :integer, null: false, default: 0
|
|
add :hpr, :integer, null: false, default: 0
|
|
add :mpr, :integer, null: false, default: 0
|
|
add :incskill, :integer, null: false, default: -1
|
|
add :charmexp, :integer, null: false, default: -1
|
|
add :pvpdamage, :integer, null: false, default: 0
|
|
end
|
|
|
|
create index(:mtsequipment, [:inventoryitemid])
|
|
|
|
# ============================================================================
|
|
# MTS TRANSFER (ITEMS BEING TRANSFERRED)
|
|
# ============================================================================
|
|
|
|
create table(:mtstransfer) do
|
|
add :characterid, :integer
|
|
add :accountid, :integer
|
|
add :packageid, :integer
|
|
add :itemid, :integer, null: false, default: 0
|
|
add :inventorytype, :integer, null: false, default: 0
|
|
add :position, :integer, null: false, default: 0
|
|
add :quantity, :integer, null: false, default: 0
|
|
add :owner, :string, size: 255
|
|
add :gm_log, :string, size: 255
|
|
add :uniqueid, :integer, null: false, default: -1
|
|
add :flag, :integer, null: false, default: 0
|
|
add :expiredate, :bigint, null: false, default: -1
|
|
add :type, :integer, null: false, default: 0
|
|
add :sender, :string, size: 13, null: false, default: ""
|
|
end
|
|
|
|
create index(:mtstransfer, [:characterid], name: :mtstransfer_characterid_index)
|
|
create index(:mtstransfer, [:inventorytype])
|
|
create index(:mtstransfer, [:accountid])
|
|
create index(:mtstransfer, [:packageid])
|
|
create index(:mtstransfer, [:characterid, :inventorytype], name: :mtstransfer_characterid_2_index)
|
|
|
|
create table(:mtstransferequipment) do
|
|
add :inventoryitemid, references(:mtstransfer, on_delete: :delete_all), null: false, default: 0
|
|
add :upgradeslots, :integer, null: false, default: 0
|
|
add :level, :integer, null: false, default: 0
|
|
add :str, :integer, null: false, default: 0
|
|
add :dex, :integer, null: false, default: 0
|
|
add :int, :integer, null: false, default: 0
|
|
add :luk, :integer, null: false, default: 0
|
|
add :hp, :integer, null: false, default: 0
|
|
add :mp, :integer, null: false, default: 0
|
|
add :watk, :integer, null: false, default: 0
|
|
add :matk, :integer, null: false, default: 0
|
|
add :wdef, :integer, null: false, default: 0
|
|
add :mdef, :integer, null: false, default: 0
|
|
add :acc, :integer, null: false, default: 0
|
|
add :avoid, :integer, null: false, default: 0
|
|
add :hands, :integer, null: false, default: 0
|
|
add :speed, :integer, null: false, default: 0
|
|
add :jump, :integer, null: false, default: 0
|
|
add :vicioushammer, :integer, null: false, default: 0
|
|
add :itemexp, :integer, null: false, default: 0
|
|
add :durability, :integer, null: false, default: -1
|
|
add :enhance, :integer, null: false, default: 0
|
|
add :potential1, :integer, null: false, default: 0
|
|
add :potential2, :integer, null: false, default: 0
|
|
add :potential3, :integer, null: false, default: 0
|
|
add :hpr, :integer, null: false, default: 0
|
|
add :mpr, :integer, null: false, default: 0
|
|
add :incskill, :integer, null: false, default: -1
|
|
add :charmexp, :integer, null: false, default: -1
|
|
add :pvpdamage, :integer, null: false, default: 0
|
|
end
|
|
|
|
create index(:mtstransferequipment, [:inventoryitemid])
|
|
end
|
|
|
|
def down do
|
|
drop table(:mtstransferequipment)
|
|
drop table(:mtstransfer)
|
|
drop table(:mtsequipment)
|
|
drop table(:mtsitems)
|
|
drop table(:mts_items)
|
|
drop table(:mts_cart)
|
|
end
|
|
end
|