-
Notifications
You must be signed in to change notification settings - Fork 107
Change Log
V2.3.6 - Oct 17, 2021
- [New] ExportInfo.InsertLineBreakBetweenInserts = false
- [Fix Bug] MySql Data type, while "default value" = current_timestamp, is skipped and not exported into dump.
V2.3.5 - Sep 22, 2021
- [New] ExportInformation.EnableComment = true. (new option)
- [New] Added support for MySqlConnector (MIT)
- [New] ExportToFile(), if the directory is not existed. MySqlBackup will attempt to create it.
- [Improve] ImportInfo.ErrorLogFile = true. Now will include the query that causes the error.
- [Improve] For non delimeter changed query execution, using MySqlCommand in stead of MySqlScript, slightly increase overall import speed. Minor clean up.
- Special thanks to souchprod for suggesting the solution to support MySqlConnector.
V2.3.4 - Mar 10, 2021
- Fix bug: MySql Time > Large hour is truncated.
V2.3.3 - Jul 16, 2020
- Compatibility with Linux: Change AppendLine to Append for Import. AppendLine will cause problem while import in Linux.
- Provide new method to export and import from Stream
V2.3.1 - Aug 23, 2019
- fix delimeter detection for compatibility with MySqlDump. Issue: https://github.com/MySqlBackupNET/MySqlBackup.Net/issues/52
V2.3 - June 23, 2019
- Drop Internal build-in encryption
- Drop feature: ExportInfo.EnableEncryption
- Drop feature: ExportInfo.EncryptionPassword
- Drop feature: ImportInfo.EnableEncryption
- Drop feature: ImportInfo.EncryptionPassword
- Drop feature: ImportInfo.TargetDatabase
- Drop feature: ImportInfo.DatabaseDefaultCharSet
- Drop feature: ExportInfo.GetTotalRowsBeforeExport
- Add feature: ExportInfo.GetTotalRowsMode
- Add feature: ExportInfo.AddDropDatabase
- Add feature: ExportInfo.AddDropTable
- Add feature: ExportInfo.TextEncoding
- Enhance: Improve sorting algorithm of TABLEs' foreign key dependencies sequence.
- Enhance: Improve sorting algorithm of VIEWs' dependencies sequence.
- Enhance: Improve Importing handling algorithm, drop unnecessary checking which slow down the process
- Fix bug: Data conversion of microseconds between .NET and MySQL is not handled correctly.
- Drop: Delete an unnecessary line 136 in MySqlBackup.cs which causes some unwanted behaviour in some circunstances: (AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;)
- Fix bug: During import with IgnoreSqlError, if an error occur, the input SQL error text is not cleared and causing the next SQL statement to be error as it appends to the previous error statement.
- Fix bug: While manually define ExportInfo.TablesToBeExportedDic or ExportInfo.TablesToBeExportedList, the existence of the defined tables is not checked in database, which might causing exporting a non-existing table.
- Enhance: SQL syntax error from dump content is handled more properly.
- Enhance: Some other minor edit to enhance the stability of the library.
- Enhance: WinForm Test App is updated for testing new features.
V2.2.1 - April 07, 2019
- Added support for Foreign key reference by rearranging the sequence of CREATE TABLE and INSERTs. Issue: https://github.com/MySqlBackupNET/MySqlBackup.Net/issues/31
- Drop the support for handling dependecies of procedure, functions, triggers and views. This had introduce new error of not appropriately handling delimiters which causes SQL syntax error. Issue: https://github.com/MySqlBackupNET/MySqlBackup.Net/issues/38
- Remove an unnecessary debugging line (MySqlBackup.cs line 134), which might creates an unnecessary tiny text file in some occasion. The text file is used in one of the previous debugging attempt. Issue: https://github.com/MySqlBackupNET/MySqlBackup.Net/issues/37
V2.1 - Dec 01, 2018
- Added support for importing dependencies within procedures, functions and views. View issue: https://github.com/MySqlBackupNET/MySqlBackup.Net/issues/21
V2.0.12 - March 20, 2018
- Fix Bug: While importing a large dump file, a possible exception of OutOfMemory will occur due to immutable behavior of string in .NET causing too many strings accumulated in memory. This bug is fixed by manually calling garbage collector to clear the unuse strings each time the SQL query is sent to MySQL server. View issue: https://github.com/MySqlBackupNET/MySqlBackup.Net/issues/18
V2.0.11 - Jan 12, 2018
- Fix Bug 1: Export Procedure & Function - If the MySQL user is different than definer, the create command is blank. MySqlBackup will export it with "DROP" but without "CREATE". Now, if the create command is empty, no "DROP" will be generated.
- Fix Bug 2: When ImportInfo.IgnoreSqlError = true and an error occur, the current error SQL statement is not cleared and resulting the following whole sql document to be error.
V2.0.10 - Nov 30, 2017
- Fix bug: "Generated Column" is not handled. Read more about "Generated Column" at https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html
V2.0.9.2 - August 8, 2015
- Fix Bug: An error will occur where in an unknown condition the value TALBE_ROWS from information_schema.tables will return as DBNULL and resulting value conversion error to System.Int64. (This bug is introduced in 2.0.9)
V2.0.9 - July 19, 2015
- Improve Performance - Modify GetTotalRows() in MySqlDatabase.cs
- Modify: The default value of ExportInfo.GetTotalRowsBeforeExport has changed to "TRUE". This is because coding for this section has changed. The time required to get total rows of all tables is only less than 1 second.
- Fix a typo error in MySqlTable.cs: line 38 - Replace "INSRET" by "INSERT".
- Modify behaviour of "UPDATE" export mode: If all fields are primary key, no rows will be exported.
- Update behaviour of "ON DUPLICATE KEY UPDATE" export mode: If all fields are primary key, export behaviour will be changed to "INSERT IGNORE".
- MySqlBackupTestApp 1.6
- Added new tool: Query Broswer 2 which able to load millions of rows.
V2.0.8 - Feb 25, 2015
- Fix bug: Parsing error occur when exporting timestamp value. This problem occured after adding the support for exporting time fraction.
- Modify: Change export behavior for exporting tables that contain only primary keys when using RowsExportMode = OnDuplicateKeyUpdate
V2.0.7.1 - Jan 26, 2015
- All functions are same as V2.0.7
- Minor intellisense update.
V2.0.7 - Jan 25, 2015
- New ExportInfo option - RowsExportMode. See discussion, See discussion
- New ExportInfo option - WrapWithinTransaction
- New Export Destination - Export to String/text
- Able to reset or remain memory stream position while exporting to memory stream.
- Added support for exporting Time Fraction (Microseconds).
V2.0.6 - Nov 17, 2014
- Fix bug: Percentage Completed in Progress Report of Import is incorrect.
V2.0.5 - Oct 20, 2014 (see demo app for more information)
- Fix a bug, after 1st export or import, the subsequent new export process is unable to carry out.
- Add Feature - Able to export/import from/to MemoryStream directly.
- Add Feature - Able to change document's headers and footers for export process.
- Add Feature - Able to exclude tables for export process.
V2.0.4 - May 12, 2014
- Remove "SET GLOBAL max_allowed_packet. It will take effect on new connection, not on current.
- Clean up. Remove old and inappropriate IntelliSense.
- Minor update.
V2.0.3 - May 11, 2014
- Fix bug: In older MySQL server, "SHOW CREATE TABLE" will return byte[] in stead of string.
- See discussion: https://mysqlbackupnet.codeplex.com/discussions/544783
Apr 11, 2014
- MySqlBackup.NET is available at NuGet.
V2.0.2 (Feb 7, 2014)
- Fix bug: MySqlBackup.NET will decrypt an empty line when encryption is enable and this causes exception.
V2.0.1 (Dec 26, 2013)
- Fix bug: TimeStamp is affected by TimeZone during import.
- Fix bug: Exported Table Columns is not correct when manually specified in TablesToBeExportedDic or TablesToBeExportedList
V2.0 (Dec 24, 2013)
- Add - Able to Export/Import To/From MemoryStream, without saving as physical file.
- Modify/Enhance - Encryption process is simplified. Thus, time required to complete a task is decrease. Internal encryption of V2.0 is not compatible with previous/older version.
- Modify/Enhance - Code structure is reorganized, bugs are more easier to detect and codes are more easier to maintain. MySqlBackup.NET is more stable than previous version.
- Drop the internal functionality of Zipping the dump file. This makes MySqlBackup.NET less dependencies. Developers can choose their own solutions for zipping the dump files externally.
- Drop the single functionality of Exporting BLOB as files.
V1.5.7 (Jan 25, 2013)
- Fix Bug: An error will occur when ExportInfo.AsynchronousMode = true and ExportIfo.CalculateTotalRowsFromDatabase = false are set at the same time.
V1.5.6 (Dec 14, 2012)
- Fix Bug: If encryption is applied in Export Process, the generated encrypted SQL file is not able to import Stored Procedures, Functions, Triggers, Events and View.
-
Discussion: MySqlBackup.dll
- Fix Bug: In some unknown cases, the SHOW CREATE TABLE
tablename
query will return byte array. -
http://www.codeproject.com/Messages/4450086/Small-changes-in-Code.aspx
- Improve 1: During Export, StreamWriter is opened and closed several times when writting to the dump file, which this is considered as not a good practice.
- Improve 2: SQL line in class Database method GetEvents: "SHOW EVENTS WHERE Db LIKE '" + DatabaseName + "';" might potentially cause errors due to case sensitivity.
- New Feature: MySqlBackup.NET is able to export as compressed zip file which results approximately 10 times smaller(file size) than original exported dump file.
- New option: ExportInfo.ZipOutputFile.
- MySqlBackup.NET can import a compressed SQL dump file in zip format.
V1.5.5 (Dec 11, 2012)
- Fix Bug: max_allowed_packet is modified to 1GB, but does not take effect in import & export process. This bug is fixed by re-initialize the MySqlConnection. Modified max_allowed_packet will only take effect on new connection, not on current connection.
V1.5.4 (Now 23, 2012)
- Fix bug: When setting AddCreateDatabase = true, the database name in CREATE DATABASE sql statement is converted into Upper Case. (It should not).
- Fix minor bug: When exporting with custom SELECT sql statements, total rows calculation is not based on new specified conditioned SELECT sql statement.
V1.5.3 (Nov 20, 2012)
- MySqlBackup can be initialized without specifying an initial database in Connection String.
- Non-super admin MySQL user can be used with MySqlBackup.NET. In previous version, only super admin users are allowed to be used with MySqlBackup.NET, or else, user privilege exception will raise. If a non-super admin MySQL user is used with MySqlBackup.NET, the backup process will proceed but has a high possibility not exporting Stored Procedure, Stored Functions, Events, Triggers and Stored View.
V1.5.2 (Oct 21, 2012)
- Fix a bug. Data Type of System.Guid is not handled.
V1.5.1 (Oct 16, 2012)
- Fix a bug. If MySqlBackup is constructed (initialized) with an object of MySqlConnection, DatabaseInfo is not initialize and resulting a null reference exception.
V1.5 (Oct 14, 2012)
- New: Able to run in both Asynchronous and Synchronous mode.
- New: Able to restore to another/new database.
- New: Reset database, delete all rows and reset Auto-Increment to 1.
- Fix bug: A SQL syntax error will occur when Importing with dump file that is encrypted with Stored Procedure, Function, Event, Trigger or View.
- Fix bug: A null exception occur when cancelling a process.
V1.4.5 (Aug 29, 2012)
- Fix bug: wrong cast type of sbyte in GetSqlValueString(), error will occur when handling MySQL datatype of SIGNED TINYINT
V1.4.4 (14 Aug 14, 2012)
- Fix bug: If the target database's default character set is not UTF8, UTF8 character will be encoded wrongly during Import. Now, database default character set will be recorded into Dump File at line of "SET NAMES". During import(restore), MySqlBackup will again detect and use the target database default character char set.
V1.4.2 (Aug 14, 2012)
- Fix bug: MySqlConnection is not closed with AutoCloseConnection set to true after Export or Import completed/halted.
- V1.4.1 (13 Aug 2012)
- Disable a function of writting a log file on D:\Log2.txt during Import process. This function is used by the authors to detect bugs and is not needed on real operation of Import(Restore).
V1.4 (Aug 13, 2012)
- (New) Able to export Stored Procedures, Functions, Events, Triggers, Views
- (Change) Implementation of IDisposal is dropped.
- (New) New Settings for Export - ExportStoredProcedures, ExportFunctions, ExportViews, ExportTriggers, ExportEvents .
- (New) New Settings for Import - IgnoreSqlErrors.
- (Change) ProgressChanged is split and replaced by ImportProgressChanged and ExportProgressChanged.
- (New) Error informations is collected during import if IgnoreSqlErrors is set to true.
V1.3.1 (Aug 9, 2012)
- (Fix Bugs) MySQL data type of "Date" and "Time" is not handled.
- TextReader and TextWriter is not closed if exception occur.
- (New) Implement iDisposal. Automatic close all streams in any condition during Export or Import halted.
- (New) New option: AddCreateDatabase (Used in Export process), Default value = false
V1.3
- (Fix bug) The symbol "." (dot) might not be used as default decimal point separator when custom System.Globalization.NumberFormatInfo or custom Application's Culture applied. The will cause a SQL syntax error.
- (New) Export and Import process are now run asynchronously.
- (New) Export and Import process can be cancelled.
- (New) Export and Import process will report progress. Enable the usage of progress bar.
- (New) max_allowed_packet will be set to 1GB (Maximum length allowed by MySQL in single query) during Export or Import process if the MySQL user used in the connection has the super privilege to do so. This is useful when exporting or importing large BLOB or TEXT data type.
- (New) Has option to reset Auto-Increment.
- (New) Has option to close MySqlConnection automatically after each process finished.
- (New) Able to export BLOB data and save as files on local drive.
- (Change) XCrypt project (an Encryption Library) is dropped from MySqlBackup. Encryption is not compatible between v1.2 and v1.3
Changes from V1.1 to V1.2
- Comments are added into SQL Dump File.
- All SQL statements are split into lines.
- Multiple INSERT statements are joined.
- Able to export(backup) BLOB data type.
- Date Time conversion bug fixed.
- SQL Dump File encoding change from UTF8 to UTF8 without BOM.
- SQL statements are divided into paragraphs, more neat and organized.
- Perform MySQL server variable checking before export/import.
- Replace MySqlDataAdapter with MySqlDataReader.
- Replace File.WriteAllLines with TextWriter > StreamWriter
- Replace File.ReadAllLines with TextReader > StreamReader
- Able to export (backup) selected tables, columns and rows.
- Able to encrypt and decrypt SQL Dump File.
- Encryption is enhanced by adding salt.
V1.0 (Sep 19, 2011)