Database migrations - بالعربي
يعد تعديل حالة التطبيقات (عن طريق تغيير قاعدة البيانات) مهمة صعبة أحيانًا وحساسة دائمًا. ترحيل قاعدة البيانات (Database Migration) مهارة أساسية لأي مهندس باك إند. أتطرق في هذا الفيديو إلى أساسيات ترحيل قواعد البيانات، باستخدام Flyway للتوضيح مع عمل Demo في النهاية.
Managing your application's state (database) is a sometimes difficult, always sensitive endeavor. Database migration is essential knowledge for any backend engineer. I go over the basics of database migration, using Flyway to illustrate with a demo in the end.
Code: github.com/yeb...
Slides: docs.google.co...
Пікірлер: 67
انا باك اند واغلب الكلام داه عملته بس حقيقي شرحك ممتاز وحسيت اني فهمت اكتر انا بعمل كدة ليه🤍🤍 ياريت تكمل في مواضيعك الجميلة وتتكلم عن micro services خصوصا
عظيم يا هندسه جزاك الله خيرا اكتر حد بفهم منه ❤❤
موضوع مهم وشرح جميل، شكرا عالمجهود الرائع مهندس ياسر.
ما شاء الله شرح جميل جداً وطريق توصيل المعلومة سهلة وبسيطة،و شكرا جدا لحضرتك علي اهتمامك ب المجتمع العربي و محاول المساعدة والتطوير في.
واصل و الله ممكن تعملنا سلسلة عن databse design
@minafaried
Жыл бұрын
اتفق
بجد مفيش بداية سنة أجمل من كدة والله .... يارب تكون سنة سعيدة ع حضرتك 💙 بجد مش عارف اشكر حضرتك ازاي على شرحك العظيم ده يباشمهندس ياسر ♥
جزاك الله خيرا يا بشمهندس كالعادة موضوع مهم جدا نبقى واعيين بيه.. قناة حضرتك يعتبر السينيور بتاعي حالليا 😃
شرح ممتاز جدا جدا، جزاك الله كل خير ❤❤
I've been awaiting this video for a long time, Yasser! Begad, shokran gedan!
تسلم، جزاك الله كل خير
ما شاء الله شرحك رائع و مبسط , اتمنى تستمر بالشروحات اول مرة اشوف القناة !
Please keep uploading content (we need more content from industry expert )
thank you for your great effort to do amazing session 🥰👏
عودا حميدا، بتوحشنا كتير يا باشمهندس سنة سعيدة عليك يارب
@pragma-ar
Жыл бұрын
وعليك ان شاء الله :)
كويس أن اليوتيوب رشحك ليا استمر ابشمنهدس❤️
يعطيك العافيه
thank you mister , great work
يابشمهندس انت بتعمل حاجة عظيمة ربنا يكرمك ممكن بس تتكلم عن تأثير الذكاء الاصطناعى على المجال الفترة الجاية و فى المستقبل وهل مع ظهور ال generative ai زى chatgpt وغيره ده ممكن يقلل ال demand على الديفيلوبرز ؟
Great video much appreciated 👍
موضوع جميل ومهم جدا وشرح جميل جدا وشكرا ليك ع المجهود والوقت لي بتدهولنا
فينك يا باشمهندس عايزين شروحات تاني ❤
بارك الله فيك ارجو تتحدث على هذا الاجراء مع قواعد البيانات الضخمة فالتعامل معها يكون مختلف ففي بعض الأحيان تحتاج انشاء جدول وهمي فارغ و تثبت عليه التغييرات ثم تنقل البيانات لعذا الجدول و تخذف القديم
الشرح اكثر من رائع، شكرا جدا لحضرتك❤
جزاك الله خيرا يا بشمهندس
ممكن شرح لل zookeeper يا بشمهندس جزاكم الله خيرا ❤
موضوع مهم وشرح ممتاز ، شكرا لك! استمر ❤
Love it so much ❤️
موضوع جداً مهم و شرح جميل
عظيم جدا ما شاء الله❤❤❤
wow! ^_^ what a good topic as usual from you Yasser❤
Fantastic:)
3alameeeeeeeee ❤❤❤❤❤❤
ك العادة ممتاز
وحشتنى يا باشمهندس 😢 مش ناوي تنزلنا حاجات جديدة
شكرا جدا وجزاك الله خيرا🌷
تسلممممممم
كنا مفتقدينك
موضوع جدا مهم، ممكن فيدوهات عن distributed database
سلام عليكم ورحمه الله ❤️ رمضان كريم 😊 استاذ ممكن تعمل فيديو او سلسلة عن طريقة تصميم وبرمجة موقع ويب كامل بداية من كتابة كود html و css JavaScript ال ربط الموقع بقاعدة البيانات وبرمجة صفحه تسجيل الدخول باستخدام لغة php phpmyadmin و التحقق من المدخلات من قبل المستخدم وتخزين بياناته في قاعدة البيانات عن تسجيل الدخول لاول مره وبرمجة ملفات تعريف الارتباط وتأمين الموقع من الاختراق والله دورت كتير على واحد كويس بشرح طريقة برمجة صفحه تسجيل الدخول وربطها بقاعدة البيانات لمن لم اجد اي احد بيشرح كويس كله تلقين فقط 😥😓 هل هذا الأمر ممكن تعمله على القناة اذا توفر لديك وقت 🤩💞🤗
جزاك الله كل خير
@pragma-ar
Жыл бұрын
وإياكم!
Great explanation 👏❤
اين انت يا بطل؟
thank u very much for this amazing video
what should i do if i don't want the new column that i will be adding to be nullable and i don't want to add a default value as well
❤
السلام عليكم .. ان شاء الله تكون بخير وصحة وعافية دائما ... بصراحة جدا استفاديت من حضرتك في مجال دراستي وعملي ... محتاج استفسر من حضرتك عن بعض الامور الي احتاج اطبقها في شغلي العملي الخاص باطروحة الدكتوراه
بالله نفسي أشوفلك فيديو عن DWM او window manger عمومًا بالله ♥
شكرا بجد ❤❤
❤❤❤❤
big big thanks sir
Thank you so much!
شكرا. ولكن هل من الصحيح إذا كان المشروع كبير واتبعت طريقة انشاء ملفات migrations لكل إضافة أو تعديل على جدول موجود؟ أقصد أنه سيكون الكثير من الملفات في migrations folder وسيصعب تتبع وفهم ال schema من كثر ال migrations. أنا عن نفسي أتّبع انشاء migration لكل إضافة ولكن أستشكل هذا الموضوع.
@pragma-ar
Жыл бұрын
عندك حق الموضوع ده مزعج شوية. في طريقة لدمج هذه الملفات ببعضها لما يزيد عددها شوية (جوجل squashing database migrations)، بس قليل مابنحتاجها عمليا لأن لو الملفات كتير للدرجة معناها ان يمكن الداتابيس بتاعتك بتعمل حاجات كتير منفصلة، ووقتها يستحب فصلها لعدة databases قدام كل واحدة منها microservice لسهولة السيطرة على الكود.
محتاج مساعده يا بشمهندس دلوقت انا عايز اشتغل backend في ناس بتقولي اتعلم database و webframwork واسسيات البرمجه oop data structure algorithms......ناس تانيه بتقولي سيبك من كله دا اتعلم data structure و algorithns بعمق وحل ٣٠٠ او ٤٠٠ سوال مع leet code عشان تعرف تعدي ال code interview الفكره اني مش هقدر اعمل الحجتين مع بعض ممكن راي حضرتك 😢
مهم جدا جدا طبعا وفي مشاكل كتير بتحصل في ال migrations لو مش مدروسة صح شكرا جدا مهندس ياسر، انا اتعرفت عليك من خلال مهندس عصام عبد النبي وبجد ربنا يبارك فيكم ويكثر من أمثالكم عندي سؤال لو سمحت انا شغال Entity framework وبعمل ال migrations من خلاله بس ساعات بتحصل مشكله وال migration بيـ fail في جزء منه بس بيكون نفذ جزء ومش بيعمل rollback لما ي fail فلازم يكون معايا backup من الداتابيز عشان ارجعها وال migration يشتغل تاني بعد ما أحل المشكلة اكيد دا مش الصح بس مش عارف احل المشكله دي ازاي
@pragma-ar
Жыл бұрын
ال migrations المفروض تكون transactional لو بتمس الداتا، والأفضل تكون أصغر مايمكن، نفس فكرة التغييرات في الكود
great explanation, but I want to ask about how we could make code changes first then schema changes, as the example you give was only about the schema changes first, I think making code changes first always will cause a problem, as it works on the old schema, so new code version might query field that does not exist in the old schema, anyway, thank you.
@pragma-ar
Жыл бұрын
It’s always about being backwards compatible. If you make the code change first, you’ll need to make your code work with both the old and new scheme (for example adding nullable/optional fields), then when you roll out the new scheme the code picks up the new data.
لوسمحت عايز اتواصل معاك
❤️❤️❤️
❤️❤️❤️❤️❤️👏👏
🤍
@mohamedmirghani1747
Жыл бұрын
جزاك الله خير يا ياسر شرح جميل وفعلا موضوع مهم ومهمل تمام .. اتعلمته بالطريقة الصعبة للأسف 😂
جزاك الله خيرا يا بشمهندس