سؤال

في Python :: Pylons ، يمكنني إصدار أمر إعداد الإعداد وسوف ينظر إلى النماذج الخاصة بي وإصدار جدول إنشاء مناسب أو إنشاء فهرس DDL لقاعدة البيانات الخاصة بي.

يبدو أن هذا سيكون ميزة في CakePhP ، لكنني أواجه مشكلة في العثور عليها.

في الواقع ، أرى هذا في الدليل: "يمكنك إنشاء جداول قاعدة البيانات الخاصة بك كما تفعل عادة. عندما تقوم بإنشاء فئات النماذج الخاصة بك ، فسوف يقومون بتخطيط الجداول التي قمت بإنشائها تلقائيًا."

ما الذي يقودني إلى تصديق أنه غير موجود؟

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

المحلول

لا ، إنه في الاتجاه الآخر - يمكنك إنشاء نماذج ووحدات تحكم ووجهات نظر من خلال وجود مخطط DB. من المنطقي أن يكون لديك مخطط تصميم DB أولاً.

يفحص هذا

نصائح أخرى

بعض التعليقات في الإجابة المقبولة أعلاه تقودني إلى إنشاء هذه الإجابة. يمكنك من الناحية الفنية إنشاء جداول جديدة أثناء الطيران باستخدام وظيفة yourmodel-> query (). أنا أستخدم هذا حاليًا في سلوك أكتب. هذا يعمل في Cakephp 2.x ، متأكد من أنه يعمل في 1.3 أيضًا.

في وظيفة الإعداد للسلوك الذي أتحقق منه لمعرفة ما إذا كان الجدول موجودًا بالفعل. إذا لم أقم بإنشائها.

$dataSource = ConnectionManager::getDataSource('your DB');
if(!in_array($tableName, $dataSource->listSources()){
    $this->createYourTableFunction();
}

في CreateyourtableFunction ، تقوم بإنشاء نموذج مؤقت لتشغيل yourmodel-> query (). وقدمها فقط تعليمات SQL الخاصة بك. عند إنشاء النموذج المؤقت الخاص بك ، فقط قم بتعيين معلمة الجدول على خطأ حتى لا تحصل على خطأ في الجدول.

$YourModel = new Model(array('table' => false, 'name' => 'YourModel', 'ds' => 'Your DB'));
$YourModel->query('SQL instruction string');
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top