Badraoui نشر 13 نوفمبر 2015 أرسل تقرير نشر 13 نوفمبر 2015 لدي قاعدة بيانات قديمة معدّة على Mysql والآن أنا بصدد القيام بأخرى جديدة على PostgreSQL، وأريد نقل البيانات الموجودة في قاعدة البيانات القديمة إلى الجديدة لكن المشكل في عدم توافقا الأسماء في كلتا القاعدتين، هل من طريقة لحل المشكل؟ بطريقة احترافية؟ 1 اقتباس
0 E.Nourddine نشر 13 نوفمبر 2015 أرسل تقرير نشر 13 نوفمبر 2015 عليك بتغيير نوع الاتصال بقاعدة البيانات، فكما تعلم rails تقبل الاتصال مع أكثر من نوع من قواعد البيانات:development: adapter: postgresql ..... test: adapter: postgresql ..... legacy: adapter: mysql2 encoding: utf8 database: your_old_mysql_db username: root password: host: localhost port: 3306عليك إضافة mysql2 إلى ملف Gemfile.لكي تتمكن من الولوج إلى المستخدم في قاعدة البيانات القديم يجب استعمال LegacyUser:# app/models/legacy_user.rb class LegacyUser < ActiveRecord::Base establish_connection :legacy self.table_name = "whatever_your_my_sql_user_table_name_is" endفي ملف import.rake :# lib/tasks/import.rake namespace :import do desc "Import Users" task users: :environment do puts "" puts "Importing Legacy Users:" LegacyUser.find_each do |lu| print "#{lu.id} - #{lu.first_name}" u = User.new u.email = lu.email u.first_name = lu.first_name u.last_name = lu.last_name if u.save puts "... saved" else puts "... bad: #{u.errors.full_messages.join(',')}" end end end endفي الأخير استعمل الأمر في الطرفية لتفعيل التغييرات التي قمت بها.rake import:users اقتباس
0 Rojan Mustafa نشر 3 مايو 2020 أرسل تقرير نشر 3 مايو 2020 يمكنك نقل قاعدة بيانات مهما كان نوعها إلى postgresql بإستعمال pgLoader وستجد الطريقة بالتفصيل في الرابط ادناه.النقل من قاعدة بيانات غير postgre إلى postgre. ولكن توجد طريقة أو لنقل خدعة أخرى لنقل البيانات من قاعدة إلى أخرى. لنفترض أنك على دراية كاملة بكيفية الإتصال بقواعد البيانات وإعدادات ملف database.yml ولديك بالفعل قاعدة بيانات رقم 1 وتريد نقل البيانات إلى قاعدة بيانات رقم 2. أولا قم بسحب هذه البيانات إلى ملف seeds.rb عبر إستخدام الجوهرة gem 'seed_dump' ثم وبكل بساطة قم بتشغيل الأمر: rake db:seed:dump وسيتم حفظ جميع البيانات في ملف الـ seeds يمكنك بالتأكيد حفظ جداول معينة دون الأخرى أو تحديد عدد السجلات التي تريد سحبها كالتالي: rake db:seed:dump MODELS=User LIMIT=1 وبعد أن يتم ذلك، اتصل بقاعدة البيانات رقم 2 وشغل الأمر: rake db:seed بالتأكيد يجب ان تكون أسماء الجداول والحقول متوافقة، ولكن يمكن تغيير هذه الأسماء من ملف seeds.rb بعد سحبها من قاعدة البيانات رقم1. اقتباس
السؤال
Badraoui
لدي قاعدة بيانات قديمة معدّة على Mysql والآن أنا بصدد القيام بأخرى جديدة على PostgreSQL، وأريد نقل البيانات الموجودة في قاعدة البيانات القديمة إلى الجديدة لكن المشكل في عدم توافقا الأسماء في كلتا القاعدتين، هل من طريقة لحل المشكل؟ بطريقة احترافية؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.