راهاندازی ساده با HTTP
فقط با یک درخواست `GET /migrate/{mongoCollection}/{sqlTable}` میتوانید مهاجرت را اجرا کنید.
مخزن باز · Java · Spring Boot

یک سرویس ساده برای انتقال کالکشنهای MongoDB به MariaDB با ساخت خودکار جدول و join-table برای فیلدهای آرایهای.
این سرویس Spring Boot یک endpoint ساده در اختیار شما میگذارد تا یک کالکشن از MongoDB را به یک جدول در MariaDB منتقل کنید. برای فیلدهای آرایهای، یک join-table جدا میسازد و مقادیر را آنجا ذخیره میکند.
اسکیما (Schema) بر اساس «اولین سند» از کالکشن حدس زده میشود؛ بنابراین برای کالکشنهای بسیار متنوع بهتر است قبل از استفاده، نگاشت فیلدها و نوعها را متناسب با نیاز خودتان بهبود دهید.
مناسب برای مهاجرتهای سریع و پروژههای کوچک/متوسط.
فقط با یک درخواست `GET /migrate/{mongoCollection}/{sqlTable}` میتوانید مهاجرت را اجرا کنید.
جدول SQL بر اساس فیلدهای سند ساخته میشود (با نگاشت ساده برای عدد/اعشاری/رشته).
`_id` به عنوان `mongo_id` در جدول ذخیره میشود تا قابلیت ردیابی رکوردها حفظ شود.
برای هر فیلد آرایهای یک جدول `{parent}_{field}` ساخته میشود و مقادیر آرایه در آن درج میشود.
یک Scheduler نمونه هم وجود دارد که هر ساعت اجرا میشود (قابل تغییر/حذف بسته به نیاز شما).
استفاده از Spring Data MongoDB و JdbcTemplate برای اجرای مهاجرت.
تنظیم اتصالها و اجرای اولین مهاجرت
در `application.yml` آدرس Mongo (`spring.data.mongodb.uri`) و دیتابیس MariaDB (`spring.datasource.*`) را تنظیم کنید.
با `./mvnw spring-boot:run` سرویس را اجرا کنید (پورت پیشفرض 9009).
با `GET /migrate/{mongoCollection}/{sqlTable}` مهاجرت را اجرا کنید. مثال: `/migrate/users/users`.
جدول اصلی و join-tableهای مربوط به آرایهها را بررسی کنید و در صورت نیاز نوع ستونها/طول رشتهها را سفارشی کنید.
اگر کالکشن شما nested یا بسیار متنوع است، نگاشت نوعها، طول رشتهها و کنترل خطا را مطابق نیاز خودتان ارتقا دهید.
چند دستور کلیدی برای اجرا
از ریشه پروژه
./mvnw spring-boot:runGET /migrate/{mongoCollection}/{sqlTable}مخزن و فهرست پروژهها
سورس و README انگلیسی پروژه.
https://github.com/mbasirmajd/rmshub-mongo2maria