Represents the NuGet versions.
- Fixed: Remove redundant
async
-await
where returningTask
will suffice withinDatabaseConsole
.
- Fixed: Updated target frameworks to be
netcoreapp3.1;net6.0
.
- Enhancement: Database migration capabilities moved into new DbEx and referenced.
- Enhancement: Updated to account for changes to
Beef.CodeGen.Core
and newly extracted base OnRamp capabilities. - Enhancement:
DatabaseConsoleWrapper
has been removed; useDatabaseConsole
(breaking change). - Enhancement: Command-line arguments and options have been adjusted and may result in breaking change; they are as follows:
Beef.Database.Core Database Tool.
Usage: Beef.Database.Core [options] <command> <script-args>
Arguments:
command Database command.
Allowed values are: None, Drop, Create, Migrate, CodeGen, Schema, Deploy, Reset, Data, DeployWithData, Database, DropAndDatabase, All, DropAndAll, ResetAndData, ResetAndDatabase, ResetAndAll, Script.
script-args Script arguments (first being the script name). [Script]
Options:
-?|-h|--help Show help information.
-cs|--connection-string Database connection string.
-cv|--connection-varname Database connection string environment variable name.
-so|--schema-order Database schema name (multiple can be specified in priority order).
-a|--assembly Assembly containing embedded resources (multiple can be specified in probing order).
-eo|--entry-assembly-only Use the entry assembly only (ignore all other assemblies).
-su|--supported Supported commands (integer)
-s|--script Script orchestration file name. [CodeGen]
-c|--config Configuration data file name. [CodeGen]
-o|--output Output directory path. [CodeGen]
-p|--param Parameter expressed as a 'Name=Value' pair (multiple can be specified). [CodeGen]
-enc|--expect-no-changes Indicates to expect _no_ changes in the artefact output (e.g. error within build pipeline). [CodeGen]
-sim|--simulation Indicates whether the code-generation is a simulation (i.e. does not update the artefacts). [CodeGen]
-x2y|--xml-to-yaml Convert the XML configuration into YAML equivalent (will not codegen). [CodeGen]
- Enhancement: Updated for changes to
Beef.Abstractions
andBeef.Core
.
- Enhancement: Re-baseline all Beef components to version v4.2.1 required by
Beef.Abstractions
introduction; including updating all dependent NuGet packages to their latest respective version.
- Fixed: Fix error
Cannot delete rows from a temporal history table
when resetting (deleting) temporal table contents during test fixture start-up.
- Enhancement: Added ability to specify within the data YAML the
IIdentifierGenerators
type using global^Type
property. Where a table is prefixed with a^
or$^
then the identifier value will be generated and set using the appropriateIIdentifierGenerator
. - Enhancement: Updated project to produce symbol packages for improved debugging.
- Enhancement: Added
^(Namespace.Type.Property.Method().etc, AssemblyName)
runtime value lookup syntax to data YAML.
- Enhancement: Added additional statistics information to console output.
- Enhancement: Will strip out
bin/debug
andbin/release
folders from default directory path to find the output directory; meaning the path does not need to be explicity set when running/debugging from Visual Studio.
- Enhancement: Updated all dependent NuGet packages to their latest respective version.
- Fixed: The
DeleteAllAndReset.sql
updated to ignore schemacdc
.
- Enhancement: All database code generation now completely replaced by
Handlebars.Net
. - Enhancement: Reference data schema specification now removed throughout; will now be inferred from the database itself (columns
Code
,Text
,IsActive
andSortOrder
). This will allow any schema to be used. - Enhancement: A new command line option
--environmentVariableName
has been added so that this value can be overridden versus using the default; this option also added to directBeef.Database.Core
execution. Where this is specified, and a corresponding value is found, this will take precedence.
- Enhancement: The
ScriptNew
option has been changed to add support for a new-createref
to create using the reference data schema; instead of the inferring from the schema name (this support has been removed). This way the developer explicitly decides and allows reference data to be used in any schema. - Fixed: Issue 71 has been resolved. A runtime error will now correctly result in a return code of
-1
.
- Enhancement: Introduction of Dependency Injection support.
- Fixed: Issue 66 fixed. Changed the path separator to be
/
so that is compatible on Windows and Linux. By using/
this matches thePath.AltDirectorySeparatorChar
(https://docs.microsoft.com/en-us/dotnet/api/system.io.path.altdirectoryseparatorchar) for Windows andPath.DirectorySeparatorChar
(https://docs.microsoft.com/en-us/dotnet/api/system.io.path.directoryseparatorchar) for Linux, making it universally compatible.
- Enhancement: Added
useBeefDbo
option to theDatabaseExecutor.RunAsync
to include the standard Beefdbo
schema objects. Avoids having to specify theBeef.Database.Core
assembly. - Fix: Threading issue with the Insert or Merge of Yaml data process that has been resolved. Also updated to return the number of rows affected and output to the log.
- Fixed: Issue 55 has been resolved. Refactored database reset to no longer use
sp_MSforeachtable
which is not available in Azure SQL.
- Fixed: Issue 53 has been resolved. The
Beef.Database.Core
environment variable naming for connection string has been renamed to be more consistent and compatible with linux.
- Fixed: Code-gen templates updated to correct warnings identified by FxCop. Where no direct fix, or by intention, these have been explicitly ignored.
- Enhancement: Updated all dependent NuGet packages to their latest respective version.
- Enhancement: Added
fnGetUserId
and updatedspSetSessionContext
to support the newExecutionContext.UserId
.
- Enhancement: Updated all dependent NuGet packages to their latest respective version.
- Fixed: Migrations scripts were being executed by
DbUp
in alphabetical order regardless of Assembly order (DbUp
default); now will execute in Assembly, then alphabetical order (override). - Fixed: Migrations scripts were being executed by
DbUp
asWithTransactionPerScript
which has been updated toWithoutTransaction
as some DDL statements cannot run within a transactional context. However, it is recommended where possible that each migration script is transactional to avoid partial update on script failure; i.e. each script should only perform a single unit of work to ensure database consistency at all times.
- Upgrade: Upgraded the project to .NET Standard 2.1 (compatible with .NET Core 3.1).
- Enhancement: Tool updated to execute asynchoronously. Both
DatabaseConsole
andDatabaseConsoleWrapper
have breaking change;Run
has been removed, replaced withRunAsync
.
- Fixed:
fnGetUsername
updated to support usernames asnvarchar(1024)
to enable any reasonable username size to be supported. This is the same as what is currently supported byspSetSessionContext
.
- Enhancement: Sprinkled
Task.ConfigureAwait(false)
as per https://devblogs.microsoft.com/dotnet/configureawait-faq/.
- Fixed: Introduced FxCop Analysis to
Beef.Database.Core
; this version represents the remediation based on the results.
- Fixed: Database merge statements updated to include
AND EXISTS (...)
for aWHEN MATCHED
to avoid updates where column data has not changed.
- Enhancement: All usernames will be set to
ExecutionContext.EnvironmentUsername
(this results in the same outcome).
- Fixed: Internal Beef dependencies changed as a result of other changes.
- Fixed: Create of new script will no longer make the schema and table names lowercase for the script file name and will honour the input case.
- Fixed: Inconsistent version numbers.
- New: Initial publish to GitHub.