mirror of https://github.com/hykilpikonna/AquaDX
[+] maimai DX Tickets
parent
2a800a825b
commit
363c9ff028
|
@ -0,0 +1,37 @@
|
|||
|
||||
CREATE TABLE `maimai2_game_ticket` (
|
||||
`id` bigint(20) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`credits` int(8) NOT NULL,
|
||||
`kind` varchar(255) NOT NULL,
|
||||
`max` int(16) NOT NULL,
|
||||
`detail` varchar(255) NOT NULL,
|
||||
`event_id` bigint(20) NOT NULL,
|
||||
`event_name` varchar(255) NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO `maimai2_game_ticket` (`id`, `name`, `credits`, `kind`, `max`, `detail`, `event_id`, `event_name`) VALUES
|
||||
(0, '使用しない', 0, 'None', 0, 'チケットを使用しません', 1, '無期限常時解放'),
|
||||
(2, '2倍チケット', 1, 'Paid', 0, '2倍チケット', 1, '無期限常時解放'),
|
||||
(3, '3倍チケット', 2, 'Paid', 0, '3倍チケット', 1, '無期限常時解放'),
|
||||
(4, '4倍チケット', 3, 'Paid', 0, '4倍チケット', 0, '解放なし'),
|
||||
(5, '5倍チケット', 4, 'Paid', 0, '5倍チケット', 24021661, '240216_06_1:有料5倍チケット解放'),
|
||||
(6, '6倍チケット', 5, 'Paid', 0, '6倍チケット', 0, '解放なし'),
|
||||
(10001, 'イベント1.5倍チケット_1', 0, 'Event', 1, '期限付き1.5倍チケット', 0, '解放なし'),
|
||||
(10002, 'イベント2倍チケット_1', 0, 'Event', 1, '期限付き2倍チケット', 0, '解放なし'),
|
||||
(10003, 'イベント3倍チケット_1', 0, 'Event', 1, '期限付き3倍チケット', 0, '解放なし'),
|
||||
(10005, 'イベント5倍チケット_1', 0, 'Event', 1, '期限付き5倍チケット', 23091461, '230914_06_1:イベント5倍チケット配布_1(1.40予備)'),
|
||||
(10101, 'イベント1.5倍チケット_2', 0, 'Event', 1, '期限付き1.5倍チケット', 0, '解放なし'),
|
||||
(10102, 'イベント2倍チケット_2', 0, 'Event', 1, '期限付き2倍チケット', 0, '解放なし'),
|
||||
(10103, 'イベント3倍チケット_2', 0, 'Event', 1, '期限付き3倍チケット', 0, '解放なし'),
|
||||
(10105, 'イベント5倍チケット_2', 0, 'Event', 1, '期限付き5倍チケット', 23091462, '230914_06_2:イベント5倍チケット配布_2(1.40予備)'),
|
||||
(10201, 'イベント1.5倍チケット_3', 0, 'Event', 1, '期限付き1.5倍チケット', 0, '解放なし'),
|
||||
(10202, 'イベント2倍チケット_3', 0, 'Event', 1, '期限付き2倍チケット', 0, '解放なし'),
|
||||
(10203, 'イベント3倍チケット_3', 0, 'Event', 1, '期限付き3倍チケット', 0, '解放なし'),
|
||||
(10205, 'イベント5倍チケット_3', 0, 'Event', 1, '期限付き5倍チケット', 23032362, '230323_06_2:イベント5倍チケット配布_3(予備)'),
|
||||
(11001, '無料1.5倍チケット', 0, 'Free', 5, 'ちほー進行1.5倍チケット', 1, '無期限常時解放'),
|
||||
(11002, '無料2倍チケット', 0, 'Free', 5, 'ちほー進行2倍チケット', 0, '解放なし'),
|
||||
(11003, '無料3倍チケット', 0, 'Free', 5, 'ちほー進行3倍チケット', 0, '解放なし'),
|
||||
(11005, '無料5倍チケット', 0, 'Free', 5, 'ちほー進行5倍チケット', 0, '解放なし'),
|
||||
(20010, '無料10倍チケット', 0, 'Free', 99, 'ちほー進行10倍チケット', 0, '解放なし'),
|
||||
(20020, '無料20倍チケット', 0, 'Free', 99, 'ちほー進行20倍チケット', 0, '解放なし');
|
|
@ -0,0 +1,37 @@
|
|||
|
||||
CREATE TABLE `maimai2_game_ticket` (
|
||||
`id` bigint(20) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`credits` int(8) NOT NULL,
|
||||
`kind` varchar(255) NOT NULL,
|
||||
`max` int(16) NOT NULL,
|
||||
`detail` varchar(255) NOT NULL,
|
||||
`event_id` bigint(20) NOT NULL,
|
||||
`event_name` varchar(255) NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO `maimai2_game_ticket` (`id`, `name`, `credits`, `kind`, `max`, `detail`, `event_id`, `event_name`) VALUES
|
||||
(0, '使用しない', 0, 'None', 0, 'チケットを使用しません', 1, '無期限常時解放'),
|
||||
(2, '2倍チケット', 1, 'Paid', 0, '2倍チケット', 1, '無期限常時解放'),
|
||||
(3, '3倍チケット', 2, 'Paid', 0, '3倍チケット', 1, '無期限常時解放'),
|
||||
(4, '4倍チケット', 3, 'Paid', 0, '4倍チケット', 0, '解放なし'),
|
||||
(5, '5倍チケット', 4, 'Paid', 0, '5倍チケット', 24021661, '240216_06_1:有料5倍チケット解放'),
|
||||
(6, '6倍チケット', 5, 'Paid', 0, '6倍チケット', 0, '解放なし'),
|
||||
(10001, 'イベント1.5倍チケット_1', 0, 'Event', 1, '期限付き1.5倍チケット', 0, '解放なし'),
|
||||
(10002, 'イベント2倍チケット_1', 0, 'Event', 1, '期限付き2倍チケット', 0, '解放なし'),
|
||||
(10003, 'イベント3倍チケット_1', 0, 'Event', 1, '期限付き3倍チケット', 0, '解放なし'),
|
||||
(10005, 'イベント5倍チケット_1', 0, 'Event', 1, '期限付き5倍チケット', 23091461, '230914_06_1:イベント5倍チケット配布_1(1.40予備)'),
|
||||
(10101, 'イベント1.5倍チケット_2', 0, 'Event', 1, '期限付き1.5倍チケット', 0, '解放なし'),
|
||||
(10102, 'イベント2倍チケット_2', 0, 'Event', 1, '期限付き2倍チケット', 0, '解放なし'),
|
||||
(10103, 'イベント3倍チケット_2', 0, 'Event', 1, '期限付き3倍チケット', 0, '解放なし'),
|
||||
(10105, 'イベント5倍チケット_2', 0, 'Event', 1, '期限付き5倍チケット', 23091462, '230914_06_2:イベント5倍チケット配布_2(1.40予備)'),
|
||||
(10201, 'イベント1.5倍チケット_3', 0, 'Event', 1, '期限付き1.5倍チケット', 0, '解放なし'),
|
||||
(10202, 'イベント2倍チケット_3', 0, 'Event', 1, '期限付き2倍チケット', 0, '解放なし'),
|
||||
(10203, 'イベント3倍チケット_3', 0, 'Event', 1, '期限付き3倍チケット', 0, '解放なし'),
|
||||
(10205, 'イベント5倍チケット_3', 0, 'Event', 1, '期限付き5倍チケット', 23032362, '230323_06_2:イベント5倍チケット配布_3(予備)'),
|
||||
(11001, '無料1.5倍チケット', 0, 'Free', 5, 'ちほー進行1.5倍チケット', 1, '無期限常時解放'),
|
||||
(11002, '無料2倍チケット', 0, 'Free', 5, 'ちほー進行2倍チケット', 0, '解放なし'),
|
||||
(11003, '無料3倍チケット', 0, 'Free', 5, 'ちほー進行3倍チケット', 0, '解放なし'),
|
||||
(11005, '無料5倍チケット', 0, 'Free', 5, 'ちほー進行5倍チケット', 0, '解放なし'),
|
||||
(20010, '無料10倍チケット', 0, 'Free', 99, 'ちほー進行10倍チケット', 0, '解放なし'),
|
||||
(20020, '無料20倍チケット', 0, 'Free', 99, 'ちほー進行20倍チケット', 0, '解放なし');
|
|
@ -0,0 +1,45 @@
|
|||
CREATE TABLE "maimai2_game_ticket" (
|
||||
"id" INTEGER(20) NOT NULL,
|
||||
"name" TEXT(255) NOT NULL,
|
||||
"credits" INTEGER(8) NOT NULL,
|
||||
"kind" TEXT(255) NOT NULL,
|
||||
"max" INTEGER(16) NOT NULL,
|
||||
"detail" TEXT(255) NOT NULL,
|
||||
"event_id" INTEGER(20) NOT NULL,
|
||||
"event_name" TEXT(255) NOT NULL
|
||||
);
|
||||
INSERT INTO "maimai2_game_ticket" (
|
||||
"id",
|
||||
"name",
|
||||
"credits",
|
||||
"kind",
|
||||
"max",
|
||||
"detail",
|
||||
"event_id",
|
||||
"event_name"
|
||||
)
|
||||
VALUES
|
||||
(0, '使用しない', 0, 'None', 0, 'チケットを使用しません', 1, '無期限常時解放'),
|
||||
(2, '2倍チケット', 1, 'Paid', 0, '2倍チケット', 1, '無期限常時解放'),
|
||||
(3, '3倍チケット', 2, 'Paid', 0, '3倍チケット', 1, '無期限常時解放'),
|
||||
(4, '4倍チケット', 3, 'Paid', 0, '4倍チケット', 0, '解放なし'),
|
||||
(5, '5倍チケット', 4, 'Paid', 0, '5倍チケット', 24021661, '240216_06_1:有料5倍チケット解放'),
|
||||
(6, '6倍チケット', 5, 'Paid', 0, '6倍チケット', 0, '解放なし'),
|
||||
(10001, 'イベント1.5倍チケット_1', 0, 'Event', 1, '期限付き1.5倍チケット', 0, '解放なし'),
|
||||
(10002, 'イベント2倍チケット_1', 0, 'Event', 1, '期限付き2倍チケット', 0, '解放なし'),
|
||||
(10003, 'イベント3倍チケット_1', 0, 'Event', 1, '期限付き3倍チケット', 0, '解放なし'),
|
||||
(10005, 'イベント5倍チケット_1', 0, 'Event', 1, '期限付き5倍チケット', 23091461, '230914_06_1:イベント5倍チケット配布_1(1.40予備)'),
|
||||
(10101, 'イベント1.5倍チケット_2', 0, 'Event', 1, '期限付き1.5倍チケット', 0, '解放なし'),
|
||||
(10102, 'イベント2倍チケット_2', 0, 'Event', 1, '期限付き2倍チケット', 0, '解放なし'),
|
||||
(10103, 'イベント3倍チケット_2', 0, 'Event', 1, '期限付き3倍チケット', 0, '解放なし'),
|
||||
(10105, 'イベント5倍チケット_2', 0, 'Event', 1, '期限付き5倍チケット', 23091462, '230914_06_2:イベント5倍チケット配布_2(1.40予備)'),
|
||||
(10201, 'イベント1.5倍チケット_3', 0, 'Event', 1, '期限付き1.5倍チケット', 0, '解放なし'),
|
||||
(10202, 'イベント2倍チケット_3', 0, 'Event', 1, '期限付き2倍チケット', 0, '解放なし'),
|
||||
(10203, 'イベント3倍チケット_3', 0, 'Event', 1, '期限付き3倍チケット', 0, '解放なし'),
|
||||
(10205, 'イベント5倍チケット_3', 0, 'Event', 1, '期限付き5倍チケット', 23032362, '230323_06_2:イベント5倍チケット配布_3(予備)'),
|
||||
(11001, '無料1.5倍チケット', 0, 'Free', 5, 'ちほー進行1.5倍チケット', 1, '無期限常時解放'),
|
||||
(11002, '無料2倍チケット', 0, 'Free', 5, 'ちほー進行2倍チケット', 0, '解放なし'),
|
||||
(11003, '無料3倍チケット', 0, 'Free', 5, 'ちほー進行3倍チケット', 0, '解放なし'),
|
||||
(11005, '無料5倍チケット', 0, 'Free', 5, 'ちほー進行5倍チケット', 0, '解放なし'),
|
||||
(20010, '無料10倍チケット', 0, 'Free', 99, 'ちほー進行10倍チケット', 0, '解放なし'),
|
||||
(20020, '無料20倍チケット', 0, 'Free', 99, 'ちほー進行20倍チケット', 0, '解放なし');
|
|
@ -3,6 +3,7 @@ from pathlib import Path
|
|||
from typing import NamedTuple
|
||||
|
||||
import pandas as pd
|
||||
import sqlglot
|
||||
import xmltodict
|
||||
from hypy_utils import write
|
||||
|
||||
|
@ -56,20 +57,55 @@ def parse_event(d: dict) -> Event:
|
|||
)
|
||||
|
||||
|
||||
def add_migration(f_name: str, mysql: str):
|
||||
(migration_path / 'mysql' / f_name).write_text(mysql)
|
||||
(migration_path / 'mariadb' / f_name).write_text(mysql)
|
||||
|
||||
# Translate to sqlite
|
||||
sqlite = sqlglot.transpile(mysql, read='mysql', write='sqlite', pretty=True)
|
||||
(migration_path / 'sqlite' / f_name).write_text(';\n'.join(sqlite) + ';\n')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
agupa = argparse.ArgumentParser(description='Convert maimai data to csv')
|
||||
agupa.add_argument('path', type=Path, help='Path to A000 data folder')
|
||||
args = agupa.parse_args()
|
||||
path = Path(args.path)
|
||||
src = Path(__file__).parent.parent
|
||||
|
||||
tickets = read_list('ticket', '*/Ticket.xml', parse_ticket)
|
||||
|
||||
events = read_list('event', '*/Event.xml', parse_event)
|
||||
|
||||
# Write incremental sql
|
||||
ids = [int(v.split(",")[0]) for v in (Path(__file__).parent / 'maimai2_game_event.csv').read_text().splitlines()]
|
||||
new_events = [e for e in events if e.id not in ids]
|
||||
sql = "INSERT INTO `maimai2_game_event` (`id`, `end_date`, `start_date`, `type`, `enable`) VALUES \n" + \
|
||||
",\n".join([f"({e.id}, '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', {e.type}, '1')" for e in new_events])
|
||||
# ids = [int(v.split(",")[0]) for v in (Path(__file__).parent / 'maimai2_game_event.csv').read_text().splitlines()]
|
||||
# new_events = [e for e in events if e.id not in ids]
|
||||
# sql = "INSERT INTO `maimai2_game_event` (`id`, `end_date`, `start_date`, `type`, `enable`) VALUES \n" + \
|
||||
# ",\n".join([f"({e.id}, '2029-01-01 00:00:00.000000', '2019-01-01 00:00:00.000000', {e.type}, '1')" for e in new_events])
|
||||
# sql += ";\n"
|
||||
# write('sql/maimai2_game_event.sql', sql)
|
||||
|
||||
# Find the highest V{}__*.sql file in src/main/resources/db/migration/sqlite
|
||||
migration_path = src / 'src/main/resources/db/migration'
|
||||
last_sql_version = max([int(v.name[1:].split("__")[0]) for v in (migration_path / 'sqlite').glob('V*__*.sql')])
|
||||
last_sql_version = 248
|
||||
print(f"Last sql version: {last_sql_version}")
|
||||
|
||||
# Write ticket sql
|
||||
sql = """
|
||||
CREATE TABLE `maimai2_game_ticket` (
|
||||
`id` bigint(20) NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`credits` int(8) NOT NULL,
|
||||
`kind` varchar(255) NOT NULL,
|
||||
`max` int(16) NOT NULL,
|
||||
`detail` varchar(255) NOT NULL,
|
||||
`event_id` bigint(20) NOT NULL,
|
||||
`event_name` varchar(255) NOT NULL
|
||||
);\n\n"""
|
||||
sql += "INSERT INTO `maimai2_game_ticket` (`id`, `name`, `credits`, `kind`, `max`, `detail`, `event_id`, `event_name`) VALUES \n" + \
|
||||
",\n".join([f"({t.id}, '{t.name}', {t.credits}, '{t.kind}', {t.max}, '{t.detail}', {t.eventId}, '{t.eventName}')" for t in tickets])
|
||||
sql += ";\n"
|
||||
write('sql/maimai2_game_event.sql', sql)
|
||||
add_migration(f"V{last_sql_version + 1}__maimai2_tickets.sql", sql)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue