मेरे पास निम्न स्थिति है और सही माइग्रेशन रणनीति निर्धारित करने में असमर्थ है। सहायता की सराहना की है।इकाई फ्रेमवर्क कोड मौजूदा डेटाबेस के साथ पहली माइग्रेशन रणनीति
- आवेदन बनाता है और डाटा संग्रहण के रूप में डेटाबेस का उपयोग करता
- आवेदन पर डेटाबेस को अद्यतन करने की जरूरत है शुरू अगर जरूरत
- Nuget प्रबंधक कंसोल एक विकल्प नहीं है का उपयोग कर।
- (माइग्रेशन उद्देश्य स्थानीय स्तर पर कोई समस्या नहीं के लिए) मैं मौजूदा वितरण में डेटाबेस जो एफई नहीं कर रहे हैं
अब मैं एफई कोड पहले दृष्टिकोण का उपयोग शुरू करना चाहते है। क्या मैं प्राप्त करने की आवश्यकता है: कोई डेटाबेस फिर एक
- तो यह आवेदन पर हुआ शुरू कर देना चाहिए डेटाबेस मौजूद है, तो उपयोग खाली माइग्रेशन (बस अगले उन्नयन के लिए तैयार होने के लिए)
डाटाबेस मौजूद ====> एफई प्रारंभिक =====> UPG v1 बनाएं नहीं है =====> UPG V2
डाटाबेस मौजूद =====> प्रारंभिक जाएं लेकिन के लिए तैयार हो अगले उन्नयन =====> ऊपर v1 ======> ऊपर v2
आपकी मदद के लिए धन्यवाद
अतिरिक्त जानकारी: इस डेटाबेस है कि मौजूद है (सिर्फ एक उदाहरण है): रिवर्स इंजीनियरिंग का प्रयोग एफई आरंभिक माइग्रेशन बनाया
CREATE DATABASE Test
GO
Use Test
GO
CREATE SCHEMA [TestSchema] AUTHORIZATION [dbo]
GO
CREATE TABLE [TestSchema].[Table1](
[Id] [uniqueidentifier] NOT NULL,
[Column1] [nvarchar](500) NOT NULL,
[Column2] [bit] NOT NULL,
[Column3] [bit] NOT NULL,
CONSTRAINT [PK_MonitorGroups] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
:
public partial class Initial : DbMigration
{
public override void Up()
{
CreateTable(
"TestSchema.Table1",
c => new
{
Id = c.Guid(nullable: false),
Column1 = c.String(nullable: false, maxLength: 500),
Column2 = c.Boolean(nullable: false),
Column3 = c.Boolean(nullable: false),
})
.PrimaryKey(t => t.Id);
}
public override void Down()
{
DropTable("TestSchema.Table1");
}
}
यदि मैं @ मौजूदा द्वारा गैर मौजूदा डेटाबेस के खिलाफ प्रदान किए गए कोड का उपयोग करता हूं तो सबकुछ शांत है । यदि मैं मौजूदा डेटाबेस के खिलाफ इसका उपयोग करता हूं तो यह तब तक काम करता है जब तक कि मैं मॉडल (अगला माइग्रेशन) बदल नहीं जाता।
मैंने जो देखा है वह है कि माइग्रेशन द्वारा लौटाई गई अपग्रेड स्क्रिप्ट में संपूर्ण डेटाबेस निर्माण शामिल है। और पहले से मौजूद वस्तुओं के खिलाफ निष्पादित नहीं किया जा सकता है।
वास्तव में क्या काम कर सकता है मौजूदा डेटाबेस में माइग्रेशन टेबल जोड़ने और प्रारंभिक डेटा जोड़ने के लिए, लेकिन मुझे यकीन नहीं है कि यह एक अच्छा समाधान है।
तो आप समुदाय को अपना प्रोजेक्ट काम करने देना चाहते हैं। –
@ फहराद नहीं, मुझे बस थोड़ी मदद की ज़रूरत है :) – Adi
फिर ठीक है;) –