سؤال

هل هناك أي سهلة التركيب/استخدام (unix) قاعدة بيانات الهجرة أدوات مثل القضبان الهجرات?أنا حقا أحب هذه الفكرة ، ولكن تثبيت روبي/القضبان بحتة لإدارة قاعدة البيانات الخاصة بي الهجرات يبدو مبالغة.

هل كانت مفيدة؟

المحلول

مجرد استخدام ActiveRecord بسيطة Rakefile.على سبيل المثال ، إذا كنت وضعت الخاص بك الهجرات في db/migrate الدليل و database.yml ملف db الخاص بك التكوين ، وهذا بسيطة Rakefile يجب أن تعمل:

Rakefile:

require 'active_record'
require 'yaml'

desc "Migrate the database through scripts in db/migrate. Target specific version with VERSION=x"
task :migrate => :environment do
  ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
end

task :environment do
  ActiveRecord::Base.establish_connection(YAML::load(File.open('database.yml')))
  ActiveRecord::Base.logger = Logger.new(STDOUT)
end

قاعدة البيانات.yml:

adapter: mysql
encoding: utf8
database: test_database
username: root
password:
host: localhost

بعد ذلك, عليك أن تكون قادرا على تشغيل rake migrate وجميع الهجرة الخير دون المحيطة القضبان التطبيق.

بدلا من ذلك, لدي مجموعة من باش النصوص التي تؤدي وظيفة مشابهة جدا إلى ActiveRecord الهجرات ، لكنها تعمل فقط مع أوراكل.اعتدت على استخدامها قبل التحول إلى روبي على القضبان.فهي معقدة بعض الشيء وأنا لا توفر لهم الدعم ، ولكن إذا كنت مهتما, لا تتردد في الاتصال بي.

نصائح أخرى

هناك أيضا مشروع يسمى جافا قاعدة بيانات الهجرة.للحصول على رمز التحقق مدونة جوجل صفحة المشروع.

أرى أن هذا الموضوع قديم جدا ، ولكن سوف رقاقة في المستقبل قوقل.

أنا حقا مثل استخدام بايثون SQLAlchemy ، SQLAlchemy-ترحيل لإدارة قواعد البيانات التي لا تحتاج إلى التحكم في الإصدار ، إذا كنت لا تريد أن تذهب ActiveRecord::ترحيل الطريق.

أنا شخصيا لم فعلت ذلك ، ولكن ينبغي أن يكون من الممكن استخدام ActiveRecord::الهجرة من دون أي من القضبان الأخرى الاشياء.إعداد مسار الحمل بشكل صحيح سوف يكون الجزء الصعب, ولكن حقا كل ما عليك هو rake المهام ، db/migrate دليل زائد مهما القضبان الأحجار الكريمة التي تعتمد على الأرجح activerecord, actviesupport و ربما بضعة الآخرين مثل railties.أود انها محاولة ونرى ما دروس في عداد المفقودين ، إضافة تلك في.

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

هذا المشروع يهدف إلى إتاحة السجل النشط الهجرات إلى تشغيل بدون تثبيت القضبان:

https://github.com/bretweinraub/rails-free-DB-Migrate

تثبيته (git clone ذلك) واستخدامه كقاعدة للمشروع الخاص بك.

هنا هو أداة للقيام بذلك كتب في هاسكل:

http://hackage.haskell.org/package/dbmigrations

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top