Abdelrahman Mostafa10 نشر 5 ديسمبر 2023 أرسل تقرير نشر 5 ديسمبر 2023 أتفهم الأمر في Laravel لكن عندما تعاملت مع Node.js ورد أمامي ذلك المصطلح لكن لم أتفهمه بشكل كامل، هل يمكنكم توضيح ذلك بأمثلة وكيف يتم الأمر بشكل مفصل لو سمحتم؟ أي ما الفائدة من ذلك؟ وهل يتم ذلك مع MongdoDB فقط أم يمكن مع PostgreSQL وMySQL؟ اقتباس
0 Ahmed Elmrsawy نشر 5 ديسمبر 2023 أرسل تقرير نشر 5 ديسمبر 2023 السلام عليكم , فكرة Migrations في Node.js، خاصةً مع Sequelize، تشبه إلى حد كبير ما تقوم به في Laravel. فكرة الMigration: Migrations هي عمليات تغيير في هيكل قاعدة البيانات. عندما تقوم بتطوير تطبيقك، قد تحتاج إلى إجراء تغييرات في هيكل الجداول في قاعدة البيانات، مثل إضافة حقل جديد، أو حذف حقل، أو تعديل نوع البيانات، وما إلى ذلك. في Laravel: لنفترض أن لديك جدول users في Laravel وتحتاج إلى إضافة حقل جديد لتخزين العناوين. تقوم بكتابة Migration لتنفيذ هذا التغيير. قد يكون المثال كالتالي: php artisan make:migration add_address_to_users_table public function up() { Schema::table('users', function (Blueprint $table) { $table->string('address'); }); } public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('address'); }); } ثم تقوم بتنفيذ: php artisan migrate و يمكن التنفيذ أيضا في mongoDb على النحو التالي const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/your_database', { useNewUrlParser: true, useUnifiedTopology: true }); const userSchema = new mongoose.Schema({ // Existing schema fields name: String, email: String, }); // Adding a new field userSchema.add({ address: String }); const User = mongoose.model('User', userSchema); // Sample migration script async function runMigration() { await User.updateMany({}, { $set: { address: null } }); mongoose.connection.close(); } runMigration(); و يمكن التنفيذ مع mySql و PostgreSQL عبر Sequelize ORM على النحو التالي : 'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.addColumn('Users', 'address', { type: Sequelize.STRING, allowNull: true, }); }, down: async (queryInterface, Sequelize) => { await queryInterface.removeColumn('Users', 'address'); }, }; و التنفيذ : npx sequelize-cli db:migrate اقتباس
0 محمد سعد شحرور نشر 8 ديسمبر 2023 أرسل تقرير نشر 8 ديسمبر 2023 مفهوم ال database migrations قائم على التحكم باصدار قواعد البيانات وادارتها على مدار الزمن، مما يقدم فائدة كبرى عند تطور التقنية او تحسينها مع الوقت. يتم تطبيق هذا المفوم مع قواعد البيانات العلائقية، مثل PostgreSQL و MYSQL، وذلك باستخدام المكاتب الشهيرة المختصة في هذا الأمر، مثل Knex.js و Sequelize. أما قواعد البيانات الغير علائقية مثل MongoDB، فتطبيق هذا المفهوم غير شائع لمرونتها لوجود مفاهيم ال models وال schemas التي تقدمها Object-Document Mapper (ODM) مثل المكتبة الشهيرة mongoose. اقتباس
السؤال
Abdelrahman Mostafa10
أتفهم الأمر في Laravel لكن عندما تعاملت مع Node.js ورد أمامي ذلك المصطلح لكن لم أتفهمه بشكل كامل، هل يمكنكم توضيح ذلك بأمثلة وكيف يتم الأمر بشكل مفصل لو سمحتم؟
أي ما الفائدة من ذلك؟ وهل يتم ذلك مع MongdoDB فقط أم يمكن مع PostgreSQL وMySQL؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.