Version 1.0 beta2 of the ECM7.Migrator database version control system has been released (an overview of the ECM7.Migrator project can be read here ). The new version fixes the found errors and refactoring. Also added some new features. The most important ones are listed below.
UPD. As I see, this post received a negative rating. Please, if you put a minus, write in the comments, for what.
PostgreSQL support returned: after a review article on Habré, I received several emails asking them to return support for PostgreSQL, which was done. The PostgreSQL dialect class is called ECM7.Migrator.Providers.PostgreSQL.PostgreSQLDialect and is in the ECM7.Migrator.Providers.PostgreSQL assembly.
Added the ability to set different actions on update and delete (for those DBMS that support this) when creating a foreign key.
Added the ability to use short names of dialects when starting migrations instead of the full names of their classes. A list of dialect short names: “SqlServer”, “SqlServer2005”, “SqlServerCe”, “Oracle”, “MySql”, “SQLite”, “PostgreSQL” .
Removed the ColumnProperty.Indexed flag (used to automatically generate an index when creating a table). Instead, methods have been added for explicitly performing operations on indexes (creating / deleting / checking existence).
Added the ability to run scripts from embedded resource files (Embedded resource). Previously, it was possible to execute an arbitrary SQL query only using the ExecuteNonQuery method (for example, it was the only way to create a stored procedure). This option has several inconveniences: unreadable code, the need for escaping quotes, etc. Now, instead, you can simply add the .sql file to the project with migrations, specify the value of the Build Action = Embedded resource property for it and call the ExecuteFromResource method from the required migration code , passing Assembly parameters containing the required file and file path to the migration parameters.
I also want to thank everyone who tried to use the migrator and wrote their reviews and comments.