سؤال

أين يجب أن أضع طريقة مخطط Nhibernate الخاص بي وكيف يجب أن أسميها عندما أقرر إعادة إنشاء قاعدة البيانات؟

هل يجب أن أترك هذا في مشروع بدء التشغيل الخاص بي (مشروع ASP.NET MVC)؟ هل يجب أن أقوم بإنشاء مشروع وحدة تحكم منفصلة فقط لتصدير مخططاتي؟

أعتقد أن هذه الأسئلة كلها تنشأ من حقيقة أنني لا أريد تشغيل Schema في كل مرة يبدأ تطبيق الويب.

أنا أستخدم nhibernate بطلاقة إذا كان ذلك يحدث فرقًا.

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

المحلول

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

نصائح أخرى

كأفكرة: يمكنك وضعها في مشروع ProjectInstaller الذي يأخذ اختياريًا وسيطة سطر الأوامر. لذلك لن تضطر إلى الحصول على تطبيق وحدة تحكم إضافية فقط لذلك.

أنا شخصياً أستخدم اختبارين (باستخدام Nunit في هذه الحالة) لإنشاء أو تحديث قاعدة البيانات. في كلتا الحالتين ، أقوم بإنشاء البرنامج النصي فقط ، حيث أريد التحكم الكامل فيما يتعلق بإنشاء قاعدة البيانات أو تحديثها.

    [Test]
    [Ignore]
    public void Create_Database_Schema_From_MappingFiles()
    {
        Configuration cfg = new Configuration();
        cfg.Configure();
        var schema = new SchemaExport(cfg);

        schema.Create(true, false);
    }

    [Test]
    [Ignore]
    public void Update_an_existing_database_schema()
    {
        Configuration cfg = new Configuration();
        cfg.Configure();
        var update = new SchemaUpdate(cfg);
        update.Execute(true, false);
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top