0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MySQLとKintoneのデータ同期をPHPで実装してみた

Last updated at Posted at 2025-04-13

はじめに

Kintone へのシステム移行を検討しているが、既存の MySQL データベースとのデータ同期に悩んでいませんか?

本記事では、PHP で開発されたオープンソースのデータ同期ツール「mysql-to-kintone-sync」を紹介します。
このツールを使用することで、MySQL のデータを Kintone に同期し、移行期間中の並行運用をスムーズに行うことが可能になります。

概要

「mysql-to-kintone-sync」は、MySQL データベースと Kintone アプリ間でデータを同期するための PHP スクリプトです。
主な機能は以下の通りです:

  • MySQL からデータを取得し、Kintone に送信
  • Kintone に新規レコードを作成、または既存レコードを更新(ユニークキーに基づく)
  • 同期処理のログをコンソールに出力

このツールは、MySQL から Kintone への一方向の同期を行います。
Kintone 側での変更は MySQL に反映されません。
また、MySQL で削除されたレコードは Kintone には残ります。

利用シーン

このツールは、以下のようなケースでの利用を想定しています:

  • 既存の PHP + MySQL アプリケーションを Kintone に段階的に移行する際のデータ同期
  • MySQL の特定のテーブルを Kintone アプリとして再構築し、並行運用する場合
  • Kintone へのデータ移行を自動化したい場合

特に、テーブル数が多く一括移行が難しい場合に、MySQL と Kintone のデータを同期させながら段階的に移行を進める際に有効です。

動作環境

  • PHP 7.0 以上(PHP 8.0.30 で動作確認済み)
  • MariaDB(MariaDB 10.6.21 で動作確認済み)
  • Composer(依存関係の管理に使用、任意)
  • MySQL データベースへのアクセス権
  • API アクセス可能な Kintone アカウント

インストールと設定

  1. リポジトリをクローン:

    git clone https://github.com/yakiimo-bsp/mysql-to-kintone-sync.git
    
  2. 必要に応じて Composer で依存関係をインストール:

    composer install
    
  3. 設定ファイル(.env)を作成し、以下の情報を入力:

    cp .env.example .env
    
    • MySQL の接続情報(ホスト、ユーザー名、パスワード、データベース名)
    • Kintone のドメイン、API トークン、アプリ ID
    • 同期対象のテーブル名と対応する Kintone フィールド
    # データベース接続
    MYSQL_SERVERNAME=your_mysql_server
    MYSQL_USERNAME=your_mysql_username
    MYSQL_PASSWORD=your_mysql_password
    MYSQL_DBNAME=your_database_name
    
    # Kintone設定
    KINTONE_DOMAIN=your_kintone_domain
    

使用方法

設定が完了したら、以下のコマンドで同期を実行します:

php mysql-to-kintone-sync.php

スクリプトはMySQLデータベースに接続し、.envファイルで定義されたクエリに基づいてデータを取得し、Kintoneに送信します。
処理の進捗や結果はコンソールに出力されます。

ロギング

すべての操作はコンソールにログ出力されます。エラーや成功メッセージの出力を監視してください。

注意点

  • Kintone 側でのデータ変更は MySQL に反映されません
  • MySQL で削除されたレコードは Kintone には残ります
  • 大量のデータを同期する場合、Kintone API の制限に注意が必要です

まとめ

「mysql-to-kintone-sync」は、MySQL から Kintone へのデータ移行や同期を簡単に行うことができる PHP ツールです。
段階的なシステム移行や並行運用を検討している方にとって、有用なツールとなるでしょう。

詳細な情報やソースコードは、GitHub リポジトリをご覧ください:
👉 https://github.com/yakiimo-bsp/mysql-to-kintone-sync

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?