تعديل غير تفاعلي لإعدادات الموقع عبر سطر الأوامر

أنا أكتب سكريبت هجرة وأرغب في تعيين إعداد الموقع s3_upload_bucket برمجياً. لقد وجدت طريقة لتعيينه عند التواجد داخل مثيل Docker:

echo 'SiteSetting.s3_upload_bucket="mybucket"' | bundle exec rails c

لكن الأمر الأخير يحتوي على أنبوب (pipe)، لذا فإن ربطه بـ docker exec -it app <command> يؤدي إلى حدوث خطأ.

هل توجد طريقة للقيام بذلك؟

شكراً مقدماً

Just add that SiteSetting like to your importer. I’ve added similar code to disable outgoing mail to several importers. You can help grep the importer directory for "Site* for examples.

I found the solution!

echo "SiteSetting.sso_url='newurl'" | docker exec -w /var/www/discourse -i app bundle exec rails c

I’m not clear what kind of migration script you’re writing. I do then in ruby and it’s easy to change site settings there.

This is a great trick, though!