119 lines
4.5 KiB
Elixir
119 lines
4.5 KiB
Elixir
defmodule Odinsea.Repo.Migrations.CreateLoggingTables do
|
|
use Ecto.Migration
|
|
|
|
def up do
|
|
# ============================================================================
|
|
# CHEAT & SECURITY LOGS
|
|
# ============================================================================
|
|
|
|
create table(:cheatlog) do
|
|
add :characterid, :integer, null: false, default: 0
|
|
add :offense, :string, size: 255, null: false
|
|
add :count, :integer, null: false, default: 0
|
|
add :lastoffensetime, :naive_datetime, null: false, default: fragment("CURRENT_TIMESTAMP")
|
|
add :param, :string, size: 255, null: false
|
|
end
|
|
|
|
create index(:cheatlog, [:characterid], name: :cid)
|
|
|
|
# ============================================================================
|
|
# GM LOGS
|
|
# ============================================================================
|
|
|
|
create table(:gmlog) do
|
|
add :cid, :integer, null: false, default: 0
|
|
add :command, :text, null: false
|
|
add :mapid, :integer, null: false, default: 0
|
|
|
|
timestamps(type: :naive_datetime, inserted_at: :time, updated_at: false)
|
|
end
|
|
|
|
create table(:internlog) do
|
|
add :cid, :integer, null: false, default: 0
|
|
add :command, :string, size: 255, null: false
|
|
add :mapid, :integer, null: false, default: 0
|
|
|
|
timestamps(type: :naive_datetime, inserted_at: :time, updated_at: false)
|
|
end
|
|
|
|
# ============================================================================
|
|
# DONOR LOGS
|
|
# ============================================================================
|
|
|
|
create table(:donorlog) do
|
|
add :accname, :string, size: 25, null: false, default: ""
|
|
add :accid, :integer, null: false, default: 0
|
|
add :chrname, :string, size: 25, null: false, default: ""
|
|
add :chrid, :integer, null: false, default: 0
|
|
add :log, :string, size: 4096, null: false, default: ""
|
|
add :time, :string, size: 25, null: false, default: ""
|
|
add :previouspoints, :integer, null: false, default: 0
|
|
add :currentpoints, :integer, null: false, default: 0
|
|
end
|
|
|
|
create table(:donation) do
|
|
add :date, :naive_datetime, null: false, default: fragment("CURRENT_TIMESTAMP")
|
|
add :ip, :string, size: 15, null: false
|
|
add :username, :string, size: 13, null: false
|
|
add :quantity, :integer
|
|
add :status, :boolean, null: false, default: false
|
|
end
|
|
|
|
# ============================================================================
|
|
# OTHER LOGS
|
|
# ============================================================================
|
|
|
|
create table(:scroll_log) do
|
|
add :accid, :integer, null: false, default: 0
|
|
add :chrid, :integer, null: false, default: 0
|
|
add :scrollid, :integer, null: false, default: 0
|
|
add :itemid, :integer, null: false, default: 0
|
|
add :oldslots, :integer, null: false, default: 0
|
|
add :newslots, :integer, null: false, default: 0
|
|
add :hammer, :integer, null: false, default: 0
|
|
add :result, :string, size: 13, null: false, default: ""
|
|
add :whitescroll, :boolean, null: false, default: false
|
|
add :legendaryspirit, :boolean, null: false, default: false
|
|
add :vegaid, :integer, null: false, default: 0
|
|
end
|
|
|
|
create table(:ipvotelog) do
|
|
add :accid, :integer, null: false, default: 0
|
|
add :ipaddress, :string, size: 30, null: false, default: "127.0.0.1"
|
|
add :votetime, :bigint, null: false, default: 0
|
|
add :votetype, :integer, null: false, default: 0
|
|
end
|
|
|
|
# ============================================================================
|
|
# COMPENSATION & CODES
|
|
# ============================================================================
|
|
|
|
create table(:compensationlog_confirmed) do
|
|
add :chrname, :string, size: 25, null: false, default: "", primary_key: true
|
|
add :donor, :boolean, null: false, default: false
|
|
add :value, :integer, null: false, default: 0
|
|
add :taken, :boolean, null: false, default: false
|
|
end
|
|
|
|
create table(:pwreset) do
|
|
add :name, :string, size: 14, null: false
|
|
add :email, :string, size: 100, null: false
|
|
add :confirmkey, :string, size: 100, null: false
|
|
add :status, :boolean, null: false, default: false
|
|
add :timestamp, :string, size: 100, null: false
|
|
end
|
|
end
|
|
|
|
def down do
|
|
drop table(:pwreset)
|
|
drop table(:compensationlog_confirmed)
|
|
drop table(:ipvotelog)
|
|
drop table(:scroll_log)
|
|
drop table(:donation)
|
|
drop table(:donorlog)
|
|
drop table(:internlog)
|
|
drop table(:gmlog)
|
|
drop table(:cheatlog)
|
|
end
|
|
end
|