أفضل طريقة لإنشاء جدول جديد في Sqlite باستخدام روبي على القضبان 2

StackOverflow https://stackoverflow.com/questions/200178

  •  03-07-2019
  •  | 
  •  

سؤال

إذن ما هي أفضل طريقة لإنشاء جداول جديدة في قاعدة بيانات Sqlite في القضبان 2.يجب إنشاء قاعدة بيانات باستخدام أشعل النار db:ترحيل الأمر.لذا يجب أن أكتب الفردية البرامج النصية sql لإنشاء قاعدة بيانات أو استخدام أشعل النار بطريقة أو بأخرى.لا تحتاج السقالات.

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

المحلول

تستخدم أساسا الهجرات.

بعض المعلومات المفيدة تساعد على كيفية استخدام الهجرات هو متاح في http://wiki.rubyonrails.org/rails/pages/understandingmigrations و http://wiki.rubyonrails.org/rails/pages/UsingMigrations.جيد cheatsheet التي تستخدم في http://dizzy.co.uk/ruby_on_rails/cheatsheets/rails-migrations.

أساسا الهجرات استخدام روبي البرمجية لإنشاء جداول قاعدة البيانات الخاصة بك بالنسبة لك.فمن الأسهل بكثير (في رأيي على الأقل) إلى استخدام لطيفة روبي البرمجية للقيام بذلك بدلا من SQL DDL - كما يفعل أشياء مختلفة تلقائيا بالنسبة لك (مثل إضافة id الحقول إلى جميع الجداول الخاصة بك كما القضبان يتطلب).ثم يمكنك استخدام أشعل النار المهام في الواقع تطبيق الهجرات إلى قاعدة البيانات الخاصة بك.والميزة الرئيسية الأخرى التي الهجرات تعطيك أنهم reverseable - حتى قاعدة البيانات الخاصة بك هو إصدار و يمكنك الانتقال بسهولة من إصدار واحد إلى آخر.

نصائح أخرى

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

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

إذا كنت لا تستخدم السقالات ثم يجب عليك استخدام script/generate migration لإنشاء ملف الترحيل لكل جدول.ليست هناك حاجة لاستخدام البرامج النصية sql.بعد إنشاء بعض الهجرات يمكنك تطبيقها على قاعدة البيانات الخاصة بك باستخدام أشعل النار db:الهجرة.

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