defmodule Odinsea.Repo.Migrations.CreateCashshopTables do use Ecto.Migration def up do # ============================================================================ # CASH SHOP ITEMS # ============================================================================ create table(:csitems) 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(:csitems, [:characterid], name: :csitems_characterid_index) create index(:csitems, [:inventorytype]) create index(:csitems, [:accountid]) create index(:csitems, [:packageid]) create index(:csitems, [:characterid, :inventorytype], name: :csitems_characterid_2_index) create table(:csequipment) do add :inventoryitemid, references(:csitems, 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(:csequipment, [:inventoryitemid]) # ============================================================================ # CASH SHOP GIFTS # ============================================================================ create table(:gifts) do add :recipient, :integer, null: false, default: 0 add :from, :string, size: 13, null: false, default: "" add :message, :string, size: 255, null: false, default: "" add :sn, :integer, null: false, default: 0 add :uniqueid, :integer, null: false, default: 0 end create index(:gifts, [:recipient]) # ============================================================================ # CASH SHOP CONFIGURATION # ============================================================================ create table(:cashshop_modified_items) do add :serial, :integer, null: false, primary_key: true add :discount_price, :integer, null: false, default: -1 add :mark, :integer, null: false, default: -1 add :showup, :boolean, null: false, default: false add :itemid, :integer, null: false, default: 0 add :priority, :integer, null: false, default: 0 add :package, :boolean, null: false, default: false add :period, :integer, null: false, default: 0 add :gender, :integer, null: false, default: 0 add :count, :integer, null: false, default: 0 add :meso, :integer, null: false, default: 0 add :unk_1, :boolean, null: false, default: false add :unk_2, :boolean, null: false, default: false add :unk_3, :boolean, null: false, default: false add :extra_flags, :integer, null: false, default: 0 end create table(:cashshop_limit_sell) do add :serial, :integer, null: false, primary_key: true add :amount, :integer, null: false, default: 0 end # ============================================================================ # NX CODES # ============================================================================ create table(:nxcode) do add :code, :string, size: 15, null: false, primary_key: true add :valid, :integer, null: false, default: 1 add :user, :string, size: 13 add :type, :integer, null: false, default: 0 add :item, :integer, null: false, default: 10000 end end def down do drop table(:nxcode) drop table(:cashshop_limit_sell) drop table(:cashshop_modified_items) drop table(:gifts) drop table(:csequipment) drop table(:csitems) end end