Erklärung der Migratoren (FluentMigrator)?
Könnte jemand das Konzept der Migratoren (insbesondere der fließenden Migranten) erläutern?
Hier sind die (möglicherweise verwirrten) Fakten, die ich zu diesem Thema zusammengetragen habe:
Ist es eine Möglichkeit, Updates für eine Datenbank zunächst durch Versionierung zu erstellen und dann zu verwalten.
Die erste Migration (oder Erstversion der Datenbank) würde alle erforderlichen Tabellen, Beziehungen und Eigenschaften enthalten (entweder fließend oder unter Verwendung eines Teils von SQL in einem Skript).
Wenn Sie eine Änderung in eine Datenbank übertragen möchten, erstellen Sie eine neue Migrationsmethode (Auf und Ab), z. B. das Hinzufügen einer neuen Tabelle oder das Ändern eines Felds.
Um eine dieser Migrationen bereitzustellen, verwenden Sie eine Befehlszeile, in der die DLL mit der Migration, der Verbindungszeichenfolge und der erforderlichen Version angegeben wird.
Wenn Sie eine ziemlich komplexe Menge von Datenmodellen hätten, wäre es nicht ziemlich schwierig und zeitaufwendig, eine Migrationsdefinition für all das zu erstellen?
Ich weiß, dass Sie mit nHibernate / fluent leicht Tabellen für eine Datenbank generieren können, ohne etwas anderes als die Modelle und Kartendateien definieren zu müssen. Gibt es eine Möglichkeit, diese Konfiguration mit dem Migrator / der Versionierung kompatibel zu machen?
Wenn nhibernate / fluent für die Erstellung einer Datenbank zuständig ist, muss nicht unbedingt jeder Aspekt der Tabellen definiert werden. Dies erfolgt entweder über die Konvention oder über die Mapping-Dateien. Mit den Migratoren müsste ich diesen Detaillierungsgrad definieren?