|
3 | 3 | import cat.nyaa.HamsterEcoHelper.ads.AdsCommands;
|
4 | 4 | import cat.nyaa.HamsterEcoHelper.auction.AuctionCommands;
|
5 | 5 | import cat.nyaa.HamsterEcoHelper.balance.BalanceCommands;
|
| 6 | +import cat.nyaa.HamsterEcoHelper.database.*; |
6 | 7 | import cat.nyaa.HamsterEcoHelper.market.MarketCommands;
|
7 | 8 | import cat.nyaa.HamsterEcoHelper.requisition.RequisitionCommands;
|
8 | 9 | import cat.nyaa.HamsterEcoHelper.signshop.SearchCommands;
|
|
11 | 12 | import cat.nyaa.nyaacore.CommandReceiver;
|
12 | 13 | import cat.nyaa.nyaacore.LanguageRepository;
|
13 | 14 | import cat.nyaa.nyaacore.Message;
|
| 15 | +import cat.nyaa.nyaacore.database.Database; |
| 16 | +import cat.nyaa.nyaacore.database.DatabaseUtils; |
| 17 | +import cat.nyaa.nyaacore.database.RelationalDB; |
| 18 | +import org.bukkit.Bukkit; |
14 | 19 | import org.bukkit.Material;
|
15 | 20 | import org.bukkit.command.Command;
|
16 | 21 | import org.bukkit.command.CommandSender;
|
17 | 22 | import org.bukkit.configuration.file.YamlConfiguration;
|
18 | 23 | import org.bukkit.entity.Player;
|
19 | 24 | import org.bukkit.inventory.ItemStack;
|
| 25 | +import org.bukkit.scheduler.BukkitTask; |
| 26 | +import org.librazy.nyaautils_lang_checker.LangKey; |
20 | 27 |
|
21 | 28 | import java.util.ArrayList;
|
22 | 29 | import java.util.List;
|
@@ -47,7 +54,7 @@ public CommandHandler(HamsterEcoHelper plugin, LanguageRepository i18n) {
|
47 | 54 | public String getHelpPrefix() {
|
48 | 55 | return "";
|
49 | 56 | }
|
50 |
| - |
| 57 | + |
51 | 58 | @Override
|
52 | 59 | public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
53 | 60 | if (args.length > 0) {
|
@@ -147,4 +154,23 @@ public void userRetrieve(CommandSender sender, Arguments args) {
|
147 | 154 | }
|
148 | 155 | plugin.database.clearTemporaryStorage(p);
|
149 | 156 | }
|
| 157 | + |
| 158 | + @SubCommand(value = "dump", permission = "heh.admin") |
| 159 | + public void databaseDump(CommandSender sender, Arguments args) { |
| 160 | + String from = args.next(); |
| 161 | + RelationalDB todb = plugin.database.database; |
| 162 | + RelationalDB fromdb = DatabaseUtils.get(from).connect(); |
| 163 | + DatabaseUtils.dumpDatabaseAsync(plugin, fromdb, todb, (cls, r) -> { |
| 164 | + if (cls != null) { |
| 165 | + msg(sender, "internal.info.dump.ing", cls.getName(), from, r); |
| 166 | + } else { |
| 167 | + fromdb.close(); |
| 168 | + if(r == 0){ |
| 169 | + msg(sender, "internal.info.dump.finished", from); |
| 170 | + } else { |
| 171 | + msg(sender, "internal.error.command_exception"); |
| 172 | + } |
| 173 | + } |
| 174 | + }); |
| 175 | + } |
150 | 176 | }
|
0 commit comments