اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر
بتاريخ 8 دقائق مضت قال عبد الواحد الحدادي:

 

  • لدي سؤال هل عملية البذر Sedeers ضرورية في كل مشروع لارافيل نقوم بهِ ؟ 
  • هل عملية اختيارية أم ضرورية نقوم بها ؟

مرحباً عبدالواحد،
إن عملية بذر قواعد البيانات هي ليست إلزامية، فهي مقدمة من لارافيل كغيرها من الإضافات فقط لتسهل العمل على المبرمج بملء قاعدة البيانات ببيانات تجريبية.
لمزيد من المعلومات يمكنك الإطلاع على الرابط بذر قواعد البيانات بالبيانات الاختبارية Seeding في Laravel

بالتوفيق،

  • 0
نشر

أهلًا @عبد الواحد الحدادي،

إن عملية البذر seeders يتم من خلالها بذر جداول قواعد البيانات التي قمت بإنشأها في إطار العمل Laravel، ومن خلال هذه الطريقة أنت لاتحتاج في كل عملية إنشاء جدول جديد أو قواعد بيانات جديدة إلى فتح ملفات قواعد البيانات والتعديل عليها، كل ماعليك هو التعديل على الملفات الخاصة بالبذر لديك في إطار العمل لاريفيل ومن ثم بذر هذه الملفات داخل قواعد البيانات.

فهذه العملية تختضر على المبرمج الكثير من الوقت في إنشاء جداول قواعد البيانات، كما يمكنك من خلالها فتح المشروع الذي قمت به على جهاز حاسوب أخر فقط من خلال بذر ملف قواعد البيانات الخاص بمشروعك على الحاسوب الأخر، وبهذا يمكنك بسهولة مشاركة مشروعك مع الكثير من المطورين ولن يجيدوا صعوبة في فتح مشروعك. ولهذا يعتبر البذر خاصية مهمة جدًا في إطار العمل لاريفيل، ومن الميزات التي لايمكن الإستغناء عنها.

شكرًأ لك.

  • 0
نشر

مرحباً عبد الواحد،

إن مفهوم الseeders جاء ليُكمل مفهومي الmigrations و الfactories فملفات التهجير تُساعدنا في إنشاء الهيكلية العامة لجداول قاعدة البيانات بما فيها من حقول هذه الجداول و تعيين أنواع البيانات لهذه الحقول ، القيم الإفتراضية لها، تحديد القيود لهذه الأعمدة، إضافة أعمدة جديدة لجدول مُحدد، ربط الجداول بمفاتيح ثانوية و ما إلى ذلك من خصائص ضمن قواعد البيانات تم توفيرها للإستخدام ضمن ملفات التهجير، تتجلى فائدة مفهوم التهجير بشكل كبير إذا كنت تعمل ضمن فريق من المُطورين، لنفترض أن المفهوم غير موجود و بالتالي سيكون على كل شخص رفع نُسخة من قاعدة البيانات التي يعمل عليها، و سيتكفل بشرح الأشياء التي أضافها و سيتوجب على بقية أعضاء الفريق فهم الأشياء المُضافة و سيضيع وقت كثير في هذا الأمر ، الشيء الذي جعل المُطورين يقومون بإنشاء مفهوم مُتعارف عليه بينهم يُسهل عملية التعامل مع جداول قاعدة البيانات من خلال ملفات و كلاسات و أسطر برمجية غير مُعقدة، بالإضافة إلى الأوامر المتعددة من خلال واجهة artisan، الآن بوجود هذا المفهوم لن يضطر أي شخص شرح أو توضيح الأشياء المُضافة، بل سيتعين على الأشخاص العاملين على المشروع قراءة ملفات التهجير و سيفهمون بكل سهولة، و بإعتمادهم على الأوامر المتاحة سيتمكنون من بناء و هدم جداول قاعدة البيانات بكل سهولة .

حتى و إن كان المُطور يعمل لوحده سيحتاج لإستخدام ملفات التهجير و ستُساعده في إنشاء قاعدة بيانات المشروع في وقت قصير ، فلتُجرب عدم إستخدامها في مشروع و لتقم مثلا بإنشاء قاعدة البيانات بإستخدام أوامر sql او واجهة برنامج مثل phpmyadmin ستستغرق وقت و سيصعب عليك الأمر خصوصاً إذا لم تكن لديك خلفية و معرفة بكيفية التعامل مع قواعد البيانات، لنقل على سبيل المثال أنه واجهتك مُشكلة برمجية و أردت من شخص ما أن يُساعدك فسيجد هو أيضاً صعوبة في الوصول إلى المُشكلة قبل حلها. 

أما مفهوم الfactories فتٌعتبر مصانع لإنشاء سجلات او كائنات من نموذج مُحدد مثلاً نموذج المُستخدم سيكون له مصنع لإنشاء مُستخدمين، نموذج المقالات سيكون له مصنع لإنشاء المقالات وهكذا، 

أما مفهوم الseeders فهي تُساعدنا في إنشاء بيانات إختبارية، لنختبر مميزات الموقع و خصائصه و تُساعدنا و تُسهل علينا هذه العملية و تعمل بإستخدام الfactories .

بتاريخ 2 ساعات قال عبد الواحد الحدادي:
  • لدي سؤال هل عملية البذر Sedeers ضرورية في كل مشروع لارافيل نقوم بهِ ؟ 
  • هل عملية اختيارية أم ضرورية نقوم بها ؟

عملية البذر يُمكن أن نقول أنها ضرورية لإنشاء بيانات إختبارية لتجربة الموقع أثناء مرحلة التطوير، لنقل أنك قمت بتوفير بعض الخصائص في الموقع و تريد أن يقوم شخص ما بتجربة هذه الخصائص سواء كان صديقك أو عميل تقوم بإنجاز المشروع له أو حتى أنت، فكيف ستُجرب هذه الخصائص بدون وجود بيانات في قاعدة البيانات، هل ستقوم بإنشائها يدوياً ، لا تنسى أن بعض الجداول مُرتبطة ببعضها البعض فعند إنشائك لسجل مُستخدم مثلاً عليك إنشاء سجل profile و تربط بينهما و هذا الأمر صعب و يأخذ وقت إن كانت العملية يدوياً بعكس إستخدام الseeders.  برأيي أن بذر بيانات تجريبية لا يُمكن الإستغناء عنه في مرحلة التطوير ، أما الطريقة فلك حرية الإختيار سواء كانت التي تُكلفك عناء و جهد إضافي (الطريقة اليدوية) أو الطريقة التي تُساعدك (وهي إستخدام الseeders) 

حتى عند إستخدامك للإختبارات بشتى أنواعها كالأحادية (unit tests) و غيرها تحتاج إلى بيانات تجريبية 

بالتوفيق.

  • 0
نشر (معدل)

عملية الزرع اختيارية وهي .. لتسهيل العمل 

ففي حال كنت تعمل مع أكثر من شخص , لابد من وجود بيانات أساسية للتعامل معها داخل قاعدة البيانات ..
وعند تنفيذ المشروع للمرة الأولى .. ستضر لإدخال بيانات قد تكون عشوائية  ..  

لذا هذه الخاصية هاهنا لتوفير الوقت والجهد عند تنفيذ المشروع لأول مرة , وخاصةً إن كان المشروع قابل للمشاركة ..

يتضمن إطار العمل Laravel القدرة على زرع بياناتك داخل قاعدة البيانات .. مع العلم أنَّ حماية التخصيص للحقول تتعطل بشكل تلقائي عند زَرع قاعدة البيانات .

تم التعديل في بواسطة Ali Taha2

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...