تحديد ترتيب الحقول في DDL الناتجة عن الطبقات GORM؟

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

سؤال

وأنا استخدم GORM لتوليد DDL قاعدة البيانات الخاصة بي من الطبقات رائع. وهو أمر عظيم. ومع ذلك، فإن ترتيب الحقول في SQL تم إنشاؤها ليست هي نفسها كما في ترتيب الحقول في الصف. على سبيل المثال، إذا كنت إنشاء فئة

class Person
{
  String firstName
  String lastName
  String address
  String email
}

ويتم إنشاء SQL التالية (لماي)

CREATE TABLE `test` (
  `id` bigint(20) NOT NULL auto_increment,
  `version` bigint(20) NOT NULL,
  `address` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `first_name` varchar(255) NOT NULL,
  `last_name` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

ولقد تم فرز الحقول إلى <م> الأبجدي النظام (بعد هوية والإصدار الحقول المعدة تلقائيا). لابأس. في هذه الحالة، ولكن لدي بعض الجداول أوسع بكثير والتي لا يوجد معلومات سياقية مهمة في ترتيب الحقول.

وهنا سؤالي: كيف تخبر GORM لترتيب الحقول في SQL في ترتيب إعلان في فئة رائع؟

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

المحلول

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

نصائح أخرى

ولست متأكدا تماما عن هذا، ولكن إغلاق القيود يحدد ترتيب الحقول في وجهات النظر، وربما هذا يعكس إلى الحقول في الجداول.

class Person
{
  String firstName
  String lastName
  String address
  String email
}

static constraints = {
  firstName()
  lastName()
  address()
  email()
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top