আমদানি / রফতানি থেকে কনফিগারেশন বাদ দিন


16

আমি ভেবেছিলাম এটি নতুন কনফিগারেশন ম্যানেজমেন্ট সিস্টেমের একটি সাধারণ ব্যবহারের ঘটনা, তবে কীভাবে এটি সমাধান করবেন তা জানার জন্য আমার ভাগ্য হয় নি:

সমস্যা

আমি গিটে কনফিগারেশন সঞ্চয় করতে এবং বিকাশের সময় কনফিগারেশন রফতানি করতে ড্রশ ব্যবহার করতে এবং তারপরে মোতায়েনের পরে কনফিগারেশনটি আমদানি করতে চাই। ড্রুপাল in. এ ফিচারগুলি ফিরিয়ে দেওয়ার মতোই খুব সুন্দর আমার সমস্যাটি হ'ল আমি বিভিন্ন সংহতকরণের জন্য অ্যাক্সেস কোডগুলি গিটে সংরক্ষণ করতে চাই না। এই কনফিগারেশনের ফলাফল মুছে ফেলা হচ্ছে
$ drush cim -y

যেখানে আমি তাকিয়ে ছিল

আমি আশা করছি কনফিগারগুলির জন্য একটি সাধারণ তালিকা / কনফিগারেশন থাকবে যা আমদানি / রফতানিতে বাদ দেওয়া উচিত। মনে হয় এটি কোনও সময়ে ছিল তবে এটি অবশ্যই পুনরায় সরিয়ে নেওয়া হবে, কারণ এটি বর্তমানে দ্রুপাল 8 রিলিজ উপলভ্য।

সক্রিয় এবং সিঙ্ক স্ট্রঞ্জের সাথে তুলনা করে কনফিগারেশনের পরিবর্তনগুলি কীভাবে করা হচ্ছে তা দেখার জন্য আমি সেখানে তাকালাম যেখানে এমন কোনও জায়গা রয়েছে যেখানে আমি পরিবর্তনগুলি সরিয়ে ফেলতে পারি, এটি মনে হয় না। কনফিগারেশনটি এর নিজস্ব কিছু বাদে কিছু কনফিগারেশন বাদে আমদানি করে কীভাবে ড্রশ করেছিলাম তা দেখেছি, তবে এটি এটি বাহ্যিক বলে মনে হচ্ছে না। আমি তাকিয়েছি ConfigEvents, তবে এগুলি সমস্ত একটি আমদানির পরে ঘটেছিল বলে মনে হচ্ছে, তাই এটি ব্যবহার করা যেতে পারে বলে মনে হয় না।

আমি কি কিছু মিস করছি, বা কেবল আমদানি / রফতানি থেকে কনফিগারগুলি বাদ দেওয়া সম্ভব নয়?

উত্তর:


7

এটি নির্দিষ্টভাবে বাদ দেওয়া সম্ভব নয় তবে কিছু আছে।

ঠিক $ দ্রুপাল in-তে কনফারেন্সের মতোই, সেটিংসে রয়েছে $ কনফিগারেশন ph পিএফপি যা আপনি স্থানীয়ভাবে কনফিগারেশনে যে কোনও কিছুকে ওভাররাইড করতে ব্যবহার করতে পারেন। বিন্যাসটি হ'ল $config['name.of.config']['nested']['key']

নোট করুন যে কনফিগারেশনে যা কিছু সঞ্চিত আছে তা এখনও গিটে রয়েছে, সুতরাং আপনার কোনওটি বা আপনার পরীক্ষার অ্যাক্সেস কোডগুলি গিটে রাখার প্রয়োজন নেই। এছাড়াও, ইউআই প্রকৃতপক্ষে কনফিগারেশনে কী সঞ্চিত রয়েছে তা প্রদর্শন করবে এবং বর্তমানে এটি ওভাররাইড করা হয়েছে এমন কোনও ইঙ্গিত দিবে না। এটি উন্নত করার জন্য মুলতুবি রয়েছে।

আমি বুঝতে পারি যে এর সীমাবদ্ধতা রয়েছে তবে এখনই রফতানি কনফিগারেশনের বাইরে কিছু রাখা সম্ভব নয়। যতদুর আমি জানি.


সুতরাং মূলত, আপনাকে ইন্টারফেসটি ব্যবহার করার পরিবর্তে আপনার সেটিংস.এফপি ফাইলে কনফিগারেশন সেট / আপডেট করতে হবে।
googletorp

হ্যাঁ, এটি নতুন কিছু নয়। D8-তে এই প্রসঙ্গে কাজের প্রবাহে কিছুই পরিবর্তন হয়নি।

11

আপনি "কনফিগার উপেক্ষা" মডিউলটি ব্যবহার করতে পারেন: https://www.drupal.org/project/config_ignore

কখনও অভিজ্ঞতা হয়েছে যে কোনও ড্রশ সিম করার সময় আপনার সাইটের কনফিগারেশন ফাইল সিস্টেমের কনফিগারেশন দ্বারা ওভাররাইড করা হয়েছিল?

আর না!

এই মডিউলটি এমন একটি সরঞ্জাম যা আপনাকে নিজের পছন্দ মতো কনফিগারেশনটি ঠিক জায়গায় রাখতে দেয়।


2
কনফিগার_ইনগোর সম্ভবত বর্তমানে উপলব্ধ সবচেয়ে স্থিতিশীল এবং সহজ সমাধান, এবং এই সমাধানটি সম্ভবত
ওপির

7

আপনি কনফিগার_গিনোর এবং কনফিগার_স্প্লিটের সংমিশ্রণটি ব্যবহার করতে পারেন

কনফিগার উপেক্ষা আপনাকে আমদানির সময় কনফিগারেশন সত্তার একটি উপসেট উপেক্ষা করার অনুমতি দেয় (২.x রিলিজের পরে মোছার বিষয়টিও প্রতিরোধ করে)। দুর্ভাগ্যক্রমে এটি রফতানির সময় কনফিগারেশন বাদ দিয়ে দেয় না।

রফতানির সময় কনফিগারেশন সত্তা বাদ দিতে, আপনি কনফিগার_স্প্লিট ব্যবহার করতে পারেন, একটি নতুন কনফিগার_স্প্লিট সত্তা তৈরি করতে পারেন এবং ফোল্ডারটি খালি রেখে দিতে পারেন। এটি কনফিগারেশনটি ফাইল সিস্টেমে রফতানি করতে বাধা দেয়; পরিবর্তে, এটি এটি ডাটাবেসে রফতানি করে।

এই বিষয়টি সম্পর্কে আমি ড্রুপাল 8-তে কনফিগারেশন পরিচালনা থেকে কনফিগারকে বাদ দিন।


5

কনফিগারেশনগুলি বিভক্ত করার জন্য আপনি https://www.drupal.org/project/config_split ব্যবহার করতে পারেন ।

ফিল্টারযুক্ত কনফিগারেশন আমদানি ও রফতানি করার জন্য একটি ড্রপাল কনসোল কমান্ড সরবরাহ করে এমন কনফিগার_স্প্লিটটি প্রবেশ করান। ড্রশ ইন্টিগ্রেশন শিগগিরই অনুসরণ করা সম্ভব হবে (সমস্ত ফিল্টার ড্রশ -স্কিপ-মডিউল ফিল্টার দ্বারা অনুপ্রাণিত হওয়ার পরে)।

আপনি রফতানিগুলিকে বিভিন্ন ডায়ারে ভাগ করতে পারেন যা আপনি এড়িয়ে যেতে পারেন।

সিএমআই উদ্যোগের দায়িত্বে থাকা লোকেরা ড্রুপাল কন ডাবলিন ২০১ in সালে খুব সুন্দর একটি উপস্থাপনা করেছিল যা আমি আপনাকে যা তাড়াতাড়ি যাচাই করার জন্য অনুরোধ করছি।


2

আমি মাত্র # 1 উত্তরে @ বার্ডির পরীক্ষা করেছি এবং এটি পুরোপুরি চলতে পারে। কেবলমাত্র আমি একটি সামান্য নোট যুক্ত করছি: আপনাকে এই ভারে সম্পূর্ণ কনফিগারেশন লাগাতে হবে, সম্পূর্ণ। এটির জন্য, $ কনফিগারেশন সঠিকভাবে চলতে পারে না।

এটার মতো কিছু:

 $config['language.negotiation'] = array(
  'session' => array(
    'parameter' => 'language',
  ),
  'url' => array(
    'source' => 'domain',
    'prefixes' => array(
      'es' => '',
      'pt-br' => '',
    ),
    'domains' => array(
      'es' => 'YourLocalDomain',
      'pt-br' => 'Anotherlocaldomain',
    ),
  ),
  'selected_langcode' => 'site_default',
  'langcode' => 'es',
);

ডকুমেন্টেশন: https://www.drupal.org/node/1928898

উপরের ডকুমেন্টেশন থেকে দ্রষ্টব্য: "নোট করুন যে সেটিংসের মধ্যে $ কনফিগারেশনের মাধ্যমে ওভাররাইড করা মান ph


3
আপনার এটি করা উচিত নয়। এটি আপনার নির্ধারিত মানগুলিতে একীভূত হওয়া উচিত, তবে এটি সম্ভবত কিছু কাঠামোর সাথে প্রত্যাশার মতো কাজ করে না।
বারদির

ওহ, আমি এটি সঠিকভাবে চালাতে পারি না। আমি এটি আবার ডিবাগ করার চেষ্টা করব এবং সঠিকভাবে চালানো না হলে আমি d.org এ একটি বাগ খুলতে পারি। ধন্যবাদ!
estoyausente

1
আমি নিশ্চিত করতে পারি যে আপনি যেমন কিছু করতে পারেন$config['module.settings']['some']['value'] = 'foo';
googletorp

2

আমি কিছুটা অবাক হয়েছি কেন কেন এতক্ষণে কেউ ড্রাশ সিএমআই সরঞ্জামগুলি উল্লেখ করেনি । যাদু শব্দগুলি drush cexyএবং config-ignore.yml। আপনার সমন্বয় করতে পারে এমন একটি তালিকা থাকবে। আমাদের একই সময়ে ব্লক ঘাঁটিগুলি প্রক্রিয়া করার সময় ব্লক দৃষ্টান্তগুলি বাদ দেওয়া উচিত ছিল।

আমরা সমস্ত কনফিগারেশন রফতানি করতে চাই, তবে আমরা নির্দিষ্ট নিদর্শনগুলি বাদ দিতে চাই।

এই যেখানে --ignore-listবিকল্পdrush cexy আসে।

আমাদের প্রকল্পে আমাদের কাছে একটি ./drush ফোল্ডার রয়েছে, সুতরাং আমরা নীচের মতো বিষয়বস্তু সহ তাদের নামক কনফিগার-উপেক্ষা.আইএমএল-এ একটি ফাইল আটকে থাকি

ignore:
  - field.field.contact_message.*
  - field.storage.contact_message.*
  - contact.form.*
  - core.entity_form_display.contact_message*
  - core.entity_form_display.contact_form*
  - core.entity_view_display.contact_message*
  - core.entity_view_display.contact_form*
  - system.site
  - workbench_email.workbench_email_template.*

সুতরাং এখন আমরা drush cexyযেমন চালানো

drush cexy --destination=/path/to/config-export --ignore-list=/path/to/drush/config-ignore.yml

সুতরাং এটি যা করে তা হল সক্রিয় কনফিগারেশনটি রফতানি করা এবং তারপরে অযাচিত কনফিগারেশন অপসারণের জন্য উপেক্ষা তালিকাটি প্রয়োগ করুন।

সুতরাং এখন যখন আপনি চালান git statusআপনার কেবল পরিবর্তনগুলি দেখা উচিত যা আপনি প্রতিশ্রুতিবদ্ধ করতে চান।

সূত্র: https://www.preLivenext.com.au/blog/introducing-drush-cmi-tools

স্থাপন

cd ~/.drush
wget https://raw.githubusercontent.com/previousnext/drush_cmi_tools/8.x-1.x/drush_cmi_tools.drush.inc
drush cc drush

সূত্র: https://github.com/previousnext/drush_cmi_tools


1

কনফিগার বিভক্ত ব্যবহার (পুনঃতফসিল)

কনফিগ বিভক্ত মডিউল এই প্রয়োজন জন্য বিশেষভাবে তৈরি করা হয়।

কনফিগার বিভাজনটি ড্রশের সাথে সংহত করা হয়েছে।

শুধুমাত্র ড্রশ ব্যবহার করে

--skip-modulesপতাকা ব্যবহার করে এটি করতে সক্ষম হবার কথা Dr

আপনার প্রকল্পের ওয়েবরুটে এটি স্বয়ংক্রিয়ভাবে করার জন্য আপনি নিম্নলিখিত লাইনগুলিকে একটি ড্রপাল / ড্রাশআরসি.এফপিতে যুক্ত করতে পারেন।

$command_specific['config-export']['skip-modules'] = array('devel');
$command_specific['config-import']['skip-modules'] = array('devel');

Http://www.drush.org/en/master/config-portport//ignign-- উন্নতি- আধুনিকীকরণ দেখুন

দুঃখজনকভাবে এই কার্যকারিতা সহ একটি বাগ আছে : https://github.com/drush-ops/drush/issues/1820 । এই মুহুর্তের জন্য আপনার g গিটিগনোরগুলিতে সেই কনফিগারেশন ফাইলগুলি যুক্ত করা দরকার যাতে রফতানি হওয়া কনফিগারেশন ফাইলগুলি প্রতিশ্রুতিবদ্ধ হয় না। কনফিগার বিভাজনের পক্ষে ড্রশ থেকে সম্ভবত এই (বগি) কার্যকারিতা বর্জন করার জন্য তাদের একটি চলমান।


2
গিটে কনফিগার ফাইলগুলিকে উপেক্ষা করা ঠিক কাজ করে না। রফতানি হয়নি কনফিগারেশন মুছে ফেলা হবে। উদাহরণস্বরূপ, কনফিগার আমদানি করার পরে কাস্টম প্যানেল পৃষ্ঠা মুছে ফেলা হবে।
dobrzyns

@ ব্যবহারকারী 157272 আপনি ['কনফিগার-আমদানি'] ['স্কিপ-মডিউলগুলি]] দিয়ে ড্রাশ ব্যবহার করে আমদানি করলেও?
গাগারাইন

drushrc.php এমনকি ওয়েবরুটের বাইরেও রাখা যেতে পারে। উদাহরণস্বরূপ এক স্তর উচ্চতর, যা আপনি যখন কোনও সুরকারের সেটআপে দ্রুপালের সাথে কাজ করেন তখন কার্যকর: github.com/drupal-composer/drupal-project
leymannx

এটি আমার পক্ষে কাজ করে না। আমি মডিউল যুক্ত করেছি, তবুও সেগুলি সক্ষম / অক্ষম মডিউল কনফিগারেশনে যুক্ত করা হয়েছিল।
জেরেমি জন

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