{"id":38719657,"url":"https://github.com/shigenobu/magentadesk","last_synced_at":"2026-01-29T09:41:44.414Z","repository":{"id":39927226,"uuid":"186539124","full_name":"shigenobu/magentadesk","owner":"shigenobu","description":"Get MariaDB / MySQL Table Difference, And Reflect.","archived":false,"fork":false,"pushed_at":"2026-01-09T04:05:25.000Z","size":1654,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-17T20:16:42.053Z","etag":null,"topics":["diff","java","mariadb","mysql","reflect","sync"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shigenobu.png","metadata":{"files":{"readme":"README.ja.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-14T03:37:20.000Z","updated_at":"2026-01-09T04:03:48.000Z","dependencies_parsed_at":"2022-08-24T18:41:54.512Z","dependency_job_id":"386d820c-9114-4767-96da-2ace3be696dd","html_url":"https://github.com/shigenobu/magentadesk","commit_stats":null,"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"purl":"pkg:github/shigenobu/magentadesk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shigenobu%2Fmagentadesk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shigenobu%2Fmagentadesk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shigenobu%2Fmagentadesk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shigenobu%2Fmagentadesk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shigenobu","download_url":"https://codeload.github.com/shigenobu/magentadesk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shigenobu%2Fmagentadesk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28874260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T07:35:32.468Z","status":"ssl_error","status_checked_at":"2026-01-29T07:33:31.463Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diff","java","mariadb","mysql","reflect","sync"],"created_at":"2026-01-17T11:07:11.457Z","updated_at":"2026-01-29T09:41:44.403Z","avatar_url":"https://github.com/shigenobu.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# magentadesk - Get MariaDB / MySQL Table Difference, And Reflect.\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n### 概要\n\nMariaDBまたはMySQLの同一ホスト内の2つのデータベースの差分を取り、同期を行います。  \n\n### システム要件\n\n* JDK 17 以上\n* MariaDB 10.6, 10.11, 11.4, 11.8, 12.0, 12.1\n* MySQL 8.0.31 - 8.0.44, 8.4\n\n### コマンド\n\n標準入力にて、所定フォーマットのJSON文字列を渡すと、  \n標準出力にて、結果のJSONが取得できます。  \n以下は最も単純なコマンド例となります。  \nCLI版のドキュメントは[こちら](cli/README.ja.md)。  \n\n    echo '${json}' | java -jar magentadesk-cli.jar --mode=${mode}\n\n(引数)  \n\n|名称|値|説明|\n|---|---|---|\n|--mode|（必須）diff, sync または maintenance|diffは差分取得、syncは取得した差分の反映、maintenanceは比較元・比較先の組み合わせのメンテナンス状態を制御します|\n|--logPath|ログを出力するファイルパス|stdoutとすると標準出力へ、stderrとすると標準エラー出力に出力します|\n|--addSeconds|ログに記載される時刻を補正する数字|デフォルトは60x60x9、つまり日本時間となります|\n\n(フル)  \n\n    echo '${json}' \\\n      | [MD_ENV=${mdEnv}] \\\n        [MD_OUTPUT=${mdOutput}] \\\n        [MD_LIMIT_LENGTH=${mdLimitLength}] \\\n        [MD_LIMIT_MISMATCH_COUNT=${mdLimitMismatchCount}] \\\n        [MD_HOME=${mdHome}] \\\n        [MD_WAIT=${mdWait}] \\\n          java -jar magentadesk-cli.jar --mode=${mode} [--logPath=${logPath}] [--addSeconds=${addSeconds}]\n\n### WEB\n\n標準入力不要で、HTTPサーバが立ち上がります。  \n以下は最も単純なコマンド例となります。  \nWEB版のドキュメントは[こちら](web/README.ja.md)。\n\n    java -jar magentadesk-web.jar\n\n|名称|値|説明|\n|---|---|---|\n|--logPath|ログを出力するファイルパス|stdoutとすると標準出力へ、stderrとすると標準エラー出力に出力します。|\n|--addSeconds|ログに記載される時刻を補正する数字|デフォルトは60x60x9、つまり日本時間となります。|\n|--webHost|待受ホスト|デフォルは0.0.0.0。|\n|--webPort|待受ポート|デフォルは8710。|\n\n(フル)  \n\n    [MD_ENV=${mdEnv}] \\\n    [MD_OUTPUT=${mdOutput}] \\\n    [MD_LIMIT_LENGTH=${mdLimitLength}] \\\n    [MD_LIMIT_MISMATCH_COUNT=${mdLimitMismatchCount}] \\\n    [MD_HOME=${mdHome}] \\\n    [MD_WAIT=${mdWait}] \\\n      java -jar magentadesk-web.jar [--logPath=${logPath}] [--addSeconds=${addSeconds}] \\\n        [--webHost=${webHost}] [--webPort=${webPort}]\n\n### 環境変数  \n\n| 名称                      | 説明                                                                       |\n|-------------------------|--------------------------------------------------------------------------|\n| MD_ENV                  | DEBUGを指定すると、詳細なログを出力します。                                                 |\n| MD_OUTPUT               | PRETTYを指定すると、標準出力の結果のJSONが整形されます。                                        |\n| MD_LIMIT_LENGTH         | diffの実行結果の値において、このバイト数を超えると、ハッシュ化されます。デフォルト10000です。                      |\n| MD_LIMIT_MISMATCH_COUNT | diffの実行結果の'mismatchRecordTables.records'の件数がこれを超えると、空になります。デフォルト10000です。 |\n| MD_HOME                 | 指定しないと、${HOME}/.magentadeskとなり、ここにsync時の任意コマンド実行時の一時ファイルが格納されます。         |\n| MD_WAIT                 | WAITを指定すると、ロックを取得できるまで待ちます。デフォルトはNOWAITです。\n\n### 注意事項\n\n* チェックサムを用いているため、レコード差分が多いほど、差分抽出に時間がかかります\n* 大量レコード（100万以上）あると、差分抽出に時間がかかります\n* 主にマスターデータといった類のものが対象となることを想定しています\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshigenobu%2Fmagentadesk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshigenobu%2Fmagentadesk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshigenobu%2Fmagentadesk/lists"}