Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for MySQL databases was added into RoundhousE #3

Merged
merged 7 commits into from
Jun 20, 2011

Commits on May 6, 2011

  1. Migrate solution to Visual Studio 2010

    Alexey Diyan committed May 6, 2011
    Configuration menu
    Copy the full SHA
    3ae6891 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2011

  1. Change roundhouse.console.Program class from internal to public.

    Add initial implementation MySqlDatabase and mapping for Version, ScriptsRun and ScriptsRunError entities into roundhouse.databases.mysql project.
    Add NHibernate, Fluent NHibernate, MySQL ADO.NET Data Provider references into roundhouse.databases.mysql project.
    Add MySQLDatabaseTest and NUnit test (as temporary solution) into roundhouse.tests.integration project.
    Add roundhouse.console and roundhouse.databases.mysql references into roundhouse.tests.integration project.
    Add App.config with DbProviderFactory for MySql.Data.MySqlClient into roundhouse.tests.integration project.
    Update Log4NetAppender, when failed to load xml configuration for log4net, consider that assemblies was not merged.
    
    TODO: Initialize configuration/system.data/DbProviderFactories app.config section in code.
    TODO Investigate how to get provider name using MySQL API instead of hardcoded string.
    Alexey Diyan committed May 10, 2011
    Configuration menu
    Copy the full SHA
    ed27b9d View commit details
    Browse the repository at this point in the history
  2. Add MySqlAdoNetProviderResolver which registers DbProviderFactory for…

    … MySQL and redirects assembly resolution from external MySql.Data into ILMerged version.
    
    MySqlDatabase implementation will never use general ADO.NET batch statement splitter. Instead of that it will use MySqlScript class which handles batch queries and also a MySQL-specific DELIMITER command.
    Admin connection for MySQLDatabase connects to "information_schema" system database.
    Implement MySqlDatabase.create_database_script method.
    In mapping for ScriptsRun and ScriptsRunError entities longtext type was changed into medumtext type because of NHibernate's defect. http://216.121.112.228/browse/NH-2424
    Remove App.Config with DbProviderFactory registration.
    
    FIXME: Quick workaround for MySQL's defect with reserved words auto-quoting. This change potentially could introduce regressions for Access, MS SQL Server or Oracle. IMO better solution is to migrate into NH 3.1 which has bugfix for this problem. http://216.121.112.228/browse/NH-1906
    
    TODO Do we need anything for MySQL? For ex MS SQL Server implemenation has schema creation script and Oracle creates db-sequences.
    TODO MS SQL Server could support different database schema for migration tables but MySQL doesn't support this actually. For MySQL CREATE SCHEMA just alias to CREATE DATABASE.
    TODO Investigate how pass CommandTimeout into commands which will be during MySqlScript execution.
    TODO Do MySQL has recovery modes which could be initialized by running SQL statement?
    Alexey Diyan committed May 10, 2011
    Configuration menu
    Copy the full SHA
    1f99506 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2011

  1. Correct defect. In DefaultDatabase class, get_current_script_hash and…

    … has_run_script_already methods must fetch hash for the latest script version instead of the first version.
    Alexey Diyan committed May 19, 2011
    Configuration menu
    Copy the full SHA
    e6b3b4b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    935e206 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2011

  1. Merge branch 'master' of https://github.com/chucknorris/roundhouse

    Conflicts:
    	product/roundhouse.databases.access/roundhouse.databases.access.csproj
    	product/roundhouse.databases.mysql/roundhouse.databases.mysql.csproj
    	product/roundhouse.databases.oracle/roundhouse.databases.oracle.csproj
    	product/roundhouse.databases.sqlserver/roundhouse.databases.sqlserver.csproj
    	product/roundhouse.databases.sqlserver2000/roundhouse.databases.sqlserver2000.csproj
    	product/roundhouse.tasks/roundhouse.tasks.csproj
    	product/roundhouse.tests.integration/roundhouse.tests.integration.csproj
    	product/roundhouse.tests/roundhouse.tests.csproj
    	product/roundhouse/databases/DefaultDatabase.cs
    	product/roundhouse/roundhouse.csproj
    	roundhouse.sln
    	sample/BuildDatabase/BuildDatabase.csproj
    	sample/SampleProject/SampleProject.csproj
    Alexey Diyan committed Jun 2, 2011
    Configuration menu
    Copy the full SHA
    ddeefeb View commit details
    Browse the repository at this point in the history
  2. Trying figure out how to fix issue with ILMerge. ILMerge task wont wo…

    …rk because of some changes in UppercuT script.
    Alexey Diyan committed Jun 2, 2011
    Configuration menu
    Copy the full SHA
    71f4ac0 View commit details
    Browse the repository at this point in the history