DotNetMigrations Project

  • This is the main executable project. This application provides the core set of commands and logs and uses MEF to create the plumbing for the extensibility aspects of DotNetMigration.
  • Commands are split up between 2 types; special and core commands. Core commands represent the true commands available as command line arguments to the application to execute a given task. Special commands assist certain core commands in order to provide a certain feat that don't really make sense on their own. The two special commands as of v0.6 of the application are used to output Help information and also create the database table used to track migration versions. Below is a listing of the core commands and where you can find additional information:

Name Type Purpose
Help Special Generates help output based for a command or a list of commands
Create Special Creates the schema_migrations table in the database
Generate Core Generates a new, unique migration script
Migrate Core Migrates the database version
Rollback Core Reverts the database back 1 version if available
Version Core Reports on the current version of the database and most recent migration script.

  • Logs provide a way to output information generated by the application and the commands. Out of the box, DotNetMigrations only provides a log for writing information to the Console window. Additional logs may be included in future releases; however, until then, additional logs may be located at the DotNetMigrations-Contrib project. For additional details on the bundled logs, please click on the link(s) below:

Name Purpose
Console Log Outputs messages to the console windows.

  • Repositories are used inside of the application as a way to aggregate logs, commands, and command line arguments. The ArgumentRepository and LogRepository classes will be passed to commands upon execution in order to provide a standard access method to the information and utility that each class provides. For more details on these classes, feel free to click the links below:

Name Purpose Notes
Argument Repository Allows an easy way of handling command-line arguments Passed to commands as the Arguments property.
Command Repository Discovers and creates the list of available commands Used only by the application and the Help command.
Log Repository Discovers and creates various logs that output will be written to Passed to commands as the Logs property.

Last edited Jan 30, 2010 at 12:09 AM by JamesEggers, version 3


No comments yet.