ড্রুপাল 8 মাইগ্রেশন মডিউলে নতুন মাইগ্রেশন কীভাবে রিফ্রেশ করবেন?


10

ড্রুপাল 8 মাইগ্রেশন প্রক্রিয়াগুলি লেখার সময় আমি কাস্টম মাইগ্রেশন মডিউলটি পুনরায় ইনস্টল করলে আমি কেবল নতুন মাইগ্রেশন প্রক্রিয়া রিফ্রেশ করতে পারি। ড্রাশ cr কাজ করে না।

ব্যাখ্যা:

আমার একটি মডিউল রয়েছে, যেমন: cm_migrationsযার 2 টি মাইগ্রেশন রয়েছে:

  • cm_users
  • cm_tags

সঙ্গে drush msআমি দেখুন:

Group: beer     Status  Total  Imported  Unprocessed  Last imported       
 cm_users        Idle    3      3         0            2016-02-09 16:56:25 
 cm_tags         Idle    4      0         4                                

আমি একটি নতুন স্থানান্তর প্রক্রিয়া লিখি:

  • cm_beers

আমি এক্সিকিউট করি drush cr; drush msএবং আমি আগের মতো একই টেবিলটি দেখতে পাচ্ছি।

আমি যখন আনইনস্টল ও ইনস্টল cm_migrationsকরি কেবল তখনই আমি তিনটি স্থানান্তর প্রক্রিয়া দেখতে পাব:

Group: beer     Status  Total  Imported  Unprocessed  Last imported       
 cm_users        Idle    3      3         0            2016-02-09 16:56:25 
 cm_tags         Idle    4      0         4                          
 cm_beers        Idle    4      0         4              

মডিউলটি পুনরায় ইনস্টল না করে কীভাবে আমি মাইগ্রেশন প্রক্রিয়াগুলি রিফ্রেশ করব?

ধন্যবাদ


এছাড়াও, আমি বলতে পারি যে আমি যদি মাইগ্রেশন প্রক্রিয়াটি কার্যকর করি, বিষয়বস্তু মুছতে পারি migrate.migration.cm_beers.ymlএবং প্রক্রিয়াটি আবার চালিত করি তবে মাইগ্রেশন ব্যর্থ হয় না। এটি কোথাও yaml ফাইলের বিষয়বস্তুতে ক্যাচ করা হয়েছে বলে মনে হচ্ছে।
ইগনাসিও সানচেজ

উত্তর:


19

আমি এটি আমার জন্য কাজ পেয়েছি

ড্রাশ কনফিগার-আমদানি - পার্টিশিয়াল --সোর্স = মডিউল / কাস্টম / মাইগ্রেট_মডিউল / কনফিগার / ইনস্টল /


হাই, উপরোক্ত নিম্নলিখিত ত্রুটিটি দেয়: উত্স ডিরেক্টরি উপস্থিত নেই। উত্সটি কোনও ডিরেক্টরি নয়।
হর্ষাল

5

তার জন্য একটি মডিউল রয়েছে। সাধারণত যেহেতু yML ফাইলগুলি কেবল ইনস্টল করার পরে লোড হয়।

এই মডিউল আপনাকে মডিউল কনফিগারেশন ফাইলগুলি স্বয়ংক্রিয়ভাবে আমদানি করা হয় তা নির্ধারণ করতে দেয়।

https://www.drupal.org/project/config_devel

এছাড়াও এই ব্লগ পোস্টটি দেখুন: https://blog.liip.ch/archive/2016/05/04/using-the-new-drupal-8-migration-api-module.html

আপনার নিজস্ব ড্রুপাল 8 মাইগ্রেট মডিউল এবং ক্যাশে সম্পর্কিত সমস্যাগুলির বিরুদ্ধে লড়াই করা

আপনি শিখেছেন, পুরো মাইগ্রেশন ম্যাপিং এখন ইয়ামাল ফাইলগুলিতে সম্পন্ন হয়। তবে কীভাবে আপনার নিজের মাইগ্রেশন ইয়ামল ফাইলগুলি লিখবেন?

দুর্ভাগ্যক্রমে, নতুন দ্রুপাল 8 বিকাশকারীদের জন্য কিছু সমস্যা রয়েছে। ড্রুপাল 8- র কনফিগারেশন ম্যানেজমেন্ট ইন্টারফেসের ( https://www.drupal.org/docamentation/administer/config ) কারণে, "কনফিগার / ইনস্টল" ডিরেক্টরিতে সমস্ত yML ফাইল কেবলমাত্র মডিউলটি ইনস্টল করার সময় আমদানি করা হয়।

আপনি যদি নতুন কনফিগারেশন ফাইলগুলি বিকাশ করতে চান তবে এটি অত্যন্ত অযৌক্তিক। এটির সমাধানের জন্য, একটি মডিউল "কনফিগারেশন ডেভলপমেন্ট" ( https://www.drupal.org/project/config_devel ) যা ক্যাচিংয়ের সমস্যার সমাধান করে তা ইনস্টল করা যেতে পারে। প্রতিটি অনুরোধে নির্দিষ্ট yML ফাইলগুলি আমদানি করা সম্ভব। কিন্তু দুর্ভাগ্যক্রমে ড্রাশ কমান্ডগুলি এখনও সমর্থিত নয়। সুতরাং আমাদের yaml ফাইলগুলি আমাদের Module.info.yml এর একটি নতুন বিভাগে আমদানি করতে চাই।

config_devel:
 install:
   - migrate_plus.migration.page_node
   - migrate_plus.migration.menu_item
   - migrate_plus.migration_group.liip

তারপরে আমরা yML ফাইল আপডেট করার পরে নিম্নলিখিত কমান্ডগুলি চালাতে পারি। এটি কনফিগারেশন ম্যানেজমেন্ট ইন্টারফেসে নতুন কনফিগারেশন ফাইলটি আমদানি করবে।

drush cdi <module_name>
drush cr

আমি এটি কাজ করতে পারি না, এবং ডকুমেন্টেশনের অভাব রয়েছে। আপনি কি আরও কিছু তথ্য দিতে পারেন? drupal.org/node/2845304
মাইকেল ম্যাললেট

5

মাইগ্রেশনগুলি MODULENAME/migrationsউপ - ডিরেক্টরিতে থাকতে হবে । একটি মাইগ্রেশন কনফিগার সংশোধন করার পরে পরিবর্তনগুলি drush crপ্রয়োগ করার জন্য একটি সহজ যথেষ্ট পরিমাণ রয়েছে।

একটি কনফিগার ডেরাইভার মাইগ্রেশন কনফিগারেশনটিকে মাইগ্রেশন প্লাগইনে ফিরিয়ে আনবে।

এই পরিবর্তনের রেকর্ডটি দেখুন: মাইগ্রেশনগুলি কনফিগারেশন সত্তাগুলির পরিবর্তে প্লাগইন


2

আমি একই সমস্যা নিয়ে লড়াই করছি: বিকাশের সময় মাইগ্রেশন কনফিগারেশন কীভাবে আপডেট করা যায়। আমি এখানে যা শেষ করেছি তা এখানে:

drush cdi1 path-to-config-dir-form-site-root/your-config.yml

config-devel-import-one, কমান্ডটি ( cdi1সংক্ষেপে) সক্রিয় কনফিগারেশনে একক কনফিগারেশন আমদানির উদ্দেশ্যে। এটি উপরে উল্লিখিত কনফিগার_ডিভেল মডিউলের অংশ।


1

এফএলওয়াই এর সমাধান নিয়ে আমার সাফল্য নেই। ইয়েমেলের সতেজতা পেতে মাইগ্রেট_টুলগুলিও আনইনস্টল করতে হয়েছিল। এবং ভাগ্য নেই devel_config

আমি এই রিফ্রেশ কনফিগারেশনগুলি পেয়েছি:

$ drush @site_alias pmu mymodule, migrate_tools, migrate_plus -y
$ drush @site_alias en mymodule, migrate_tools, migrate_plus -y

0

পিটার জে লর্ডসের সমাধান অনুসরণ করে, আপনি নিজের সেটিংস.এফপি ফাইলটিতে একটি কনফিগার ডিরেক্টরি (নতুন বা আপডেট ymls জন্য) যুক্ত করতে পারেন। উদাহরণ:

$config_directories['fresh'] = 'sites/default/fresh';

সেই ডিরেক্টরিতে নতুন yML ফাইলগুলি রাখুন এবং তারপরে ড্রশের কনফিগারেশন-আমদানি কমান্ড সহ নতুন কনফিগারেশন সেটিংস আমদানি করুন:

drush cim fresh --partial 

-1

আমি খুঁজে পেয়েছি যে মাঝে মাঝে উপরের কোনওটিই কাজ করে না। এমনকি তাদের সব একত্রিত। তবে আমি আমাকে কিছু অন্তর্দৃষ্টি দেওয়ার জন্য মাইগ্রেট_টুলগুলি চালিত করতে পারি।

সম্ভবত yML ফাইলটি তালিকাভুক্ত হওয়ার আগে বৈধ কিনা তা একটি চেক আছে। আমদানিকারকটি চালানোর চেষ্টা করুন (হ্যাঁ, এটি প্রদর্শিত না হলেও এমনকি $ drush ms)

আমার মাইগ্রেশনকে পণ্য বলা হত, তাই আমি তা করেছি: $ drush mim products

Migration failed with source plugin exception: The &quot;int&quot; plugin does not exist.

এই ত্রুটিটি ঠিক করা (আমার ক্ষেত্রে পূর্ণসংখ্যার সাথে পূর্বে পরিবর্তন করা) এবং তারপরে উপরে @ ফ্লাইয়ের উত্তর অনুসরণ করে মাইগ্রেশনটি প্রদর্শিত হবে। লজ্জাজনক ত্রুটিটি প্রদর্শিত হয়নি এবং এটি নিঃশব্দে ব্যর্থ হয়েছে, তবে এটি অন্য একটি বিষয়। ;-)

পিএস আমি এটি একটি মন্তব্য হিসাবে পোস্ট করতে হবে, কিন্তু আমার এখনও পর্যাপ্ত পয়েন্ট নেই।


-2

উপরে FLY এর উত্তরে drush cdi <module_name>এখনই হওয়া উচিত drush cde <module_name>


2
ড্রশ সিডি কনফিগার রফতানি করে এবং আপনার যা আছে তা ওভাররাইট করে। আমরা যা চাই তা তা নয়। এটি কীভাবে গৃহীত হয়?
মাইকেল ম্যাললেট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.