Verwenden von Entity Framework 4.3.1 Code zuerst und Datenmigrationen.Wie kann ich SQL-Skripts überschreiben, die von MigratorScriptingDecorator generiert wurden
Ich habe ein Dienstprogramm geschrieben, um die Migrationsskripts für eine Zieldatenbank mithilfe von MigratorScriptingDecorator automatisch zu generieren.
Manchmal jedoch, wenn die Zieldatenbank von Grund auf neu generiert wird, ist das generierte Skript ungültig, da es eine Variable mit demselben Namen zweimal deklariert. Der Name der Variablen lautet @ var0.
Dies tritt auf, wenn mehrere Migrationen angewendet werden und wenn mindestens zwei dazu führen, dass eine Standardbedingung gelöscht wird.
Das Problem tritt sowohl bei der Erzeugung des Formularcode Skript, und bei der Verwendung des Paket-Manager-Konsole Befehl:
Update-Database -Script
Hier sind die beanstandeten Schnipsel das generierte Skript Form:
DECLARE @var0 nvarchar(128)
SELECT @var0 = name
FROM sys.default_constraints
WHERE parent_object_id = object_id(N'SomeTableName')
und
DECLARE @var0 nvarchar(128)
SELECT @var0 = name
FROM sys.default_constraints
WHERE parent_object_id = object_id(N'SomeOtherTableName')
Ich möchte in der Lage sein, den Punkt zu überschreiben, wo er ge Nimmt die SQL für jede Migration neu auf und fügt dann eine "GO" -Anweisung hinzu, so dass jede Migration in einem separaten Batch erfolgt, wodurch das Problem gelöst wird.
Jeder hat irgendwelche Ideen, wie man das macht, oder wenn ich den falschen Baum belle, dann könnten Sie vielleicht einen besseren Ansatz vorschlagen?
glauben Sie, eine ähnliche Problemumgehung für das sQL möglich sein könnte, für die normale direkte Tabelleneinsätze erzeugt? –