Rivet
0.12.0-beta218
Minimum PowerShell version
5.1
See the version list below for details.
Installation Options
Owners
Copyright
Copyright 2013 - 2019 WebMD Health Services.
Package Details
Author(s)
- WebMD Health Services
Tags
sql-server evolutionary-database database migrations
Cmdlets
Functions
Add-CheckConstraint Add-DataType Add-DefaultConstraint Add-Description Add-ExtendedProperty Add-ForeignKey Add-PrimaryKey Add-Row Add-RowGuidCol Add-Schema Add-StoredProcedure Add-Synonym Add-Table Add-Trigger Add-UniqueKey Add-UserDefinedFunction Add-View Disable-Constraint Enable-Constraint Export-Migration Get-Migration Get-RivetConfig Import-RivetPlugin Invoke-Ddl Invoke-Rivet Invoke-RivetPlugin Invoke-SqlScript Merge-Migration New-BigIntColumn New-BinaryColumn New-BitColumn New-CharColumn New-Column New-DateColumn New-DateTime2Column New-DateTimeColumn New-DateTimeOffsetColumn New-DecimalColumn New-FloatColumn New-HierarchyIDColumn New-IntColumn New-Migration New-MoneyColumn New-NCharColumn New-NVarCharColumn New-RealColumn New-RowVersionColumn New-SmallDateTimeColumn New-SmallIntColumn New-SmallMoneyColumn New-SqlVariantColumn New-TimeColumn New-TinyIntColumn New-UniqueIdentifierColumn New-VarBinaryColumn New-VarCharColumn New-XmlColumn Remove-CheckConstraint Remove-DataType Remove-DefaultConstraint Remove-Description Remove-ExtendedProperty Remove-ForeignKey Remove-Index Remove-PrimaryKey Remove-Row Remove-RowGuidCol Remove-Schema Remove-StoredProcedure Remove-Synonym Remove-Table Remove-Trigger Remove-UniqueKey Remove-UserDefinedFunction Remove-View Rename-Column Rename-DataType Rename-Index Rename-Object Stop-Migration Update-CodeObjectMetadata Update-Description Update-ExtendedProperty Update-Row Update-StoredProcedure Update-Table Update-Trigger Update-UserDefinedFunction Update-View
PSEditions
Dependencies
This module has no dependencies.
Release Notes
## Upgrade Instructions
This version of Rivet is backwards-incompatible. It changes the way plug-ins work. In order to upgrade to this version, you'll need to update your plugins and your rivet.json file.
1. Package your plugins into a PowerShell module. Make sure your plug-in functions are exported by your module.
2. Add the attribute `[Rivet.Plugin([Rivet.Event]::BeforeOperationLoad)]` to any existing `Start-MigrationOperation` functions.
3. Add the attribute `[Rivet.Plugin([Rivet.Event]::AfterOperationLoad)]` to any existing `Complete-MigrationOperation` functions.
4. Change the `PluginsRoot` setting in your rivet.json file to `PluginPaths`. Change its value to the path to the module you created in step 1.
See `about_Rivet_Plugins` for more information.
## Changes
* Created `Export-Migration` function for exporting database objects as Rivet migrations.
* Rivet can now add XML columns that don't have schema associated with them.
* `New-Column` can now be used to create columns on tables that have custom size specifications, are rowguidcol, are identities, custom collations, and are file stream.
* Fixed: `Merge-Migration` doesn't merge `Add-RowGuidCol` and `Remove-RowGuidCol` operations into `Add-Table`/`Update-Table` operations.
* ***Breaking Change***: Rivet plug-ins must now be packaged as/in PowerShell modules. The `PluginsRoot` configuration option has been renamed to `PluginPaths` and should be a list of paths were Rivet can find the PowerShell modules containing your plug-ins. These paths are imported using the `Import-Module` command. See `about_Rivet_Plugins` for more information.
* The `PluginsPath` (fka `PluginsRoot`) configuration setting is now allowed to have wildcards.
* Completely re-architected how `Merge-Migration` merges migrations together. This fixed a lot of bugs where many operations were not merging correctly.
* The Convert-Migration.ps1 sample script no longer include a header for all migrations that affected an operation, since Rivet no longer exposes this information. Instead, it only adds an author header for the migration an operation ends up in.
* The `Remove-DefaultConstraint` operation's `ColumnName` parameter is now required. When merging operations, Rivet needs to know what column a default expression operates on. You'll get a warning if it isn't provided. In a future version of Rivet, this parameter will be made mandatory.
* Default constraint names are now required. You must pass a constraint name to the Add-DefaultConstraint operator's Name parameter and to the DefaultConstraintName parameter on any column definition that has a default value.
* Performance improvement: Rivet now only queries once for the state of all applied migrations instead of querying for every migration.
* Performance improvement: Rivet only reads migration files that haven't been applied to a database. This should help with backwards-compatability. If Rivet's API changes only migrations you want to push/pop will need to get updated to match the new API.
* Unique key constraint names are now required. You must pass a constraint name to the Add-UniqueKey operation's Name parameter.
* Primary key constraint names are now required. You must pass a constraint name to the Add-PrimaryKey operation's Name parameter.
* Foreign key constraint names are now required. You must pass a constraint name to the Add-ForeignKey operation's Name parameter.
* Index names are now required. You must pass an index name to the Add-Index operation's Name parameter.
FileList
- Rivet.nuspec
- Import-Rivet.ps1
- rivet.ps1
- Rivet.psd1
- Rivet.psm1
- rivet.sample.json
- bin\Rivet.dll
- en-US\about_Rivet.help.txt
- en-US\about_Rivet_Configuration.help.txt
- en-US\about_Rivet_Cookbook.help.txt
- en-US\about_Rivet_Intellisense.help.txt
- en-US\about_Rivet_Migrations.help.txt
- en-US\about_Rivet_Plugins.help.txt
- en-US\Rivet.dll-Help.xml
- Formats\Rivet.Migration.format.ps1xml
- Formats\Rivet.OperationResult.format.ps1xml
- Formats\RivetMigrationResult-GroupingFormat.format.ps1xml
- Formats\RivetOperationResult-GroupingFormat.format.ps1xml
- Migrations\00000000000001_RivetInitializeDatabase.ps1
- Migrations\00000000000002_RivetIncreaseMigrationName.ps1
- Migrations\00000000000003_RivetChangeStoredProcedureVarcharParametersToNVarchar.ps1
- RivetSamples\Complete-MigrationOperation.ps1
- RivetSamples\Convert-Migration.ps1
- RivetSamples\RivetSamples.psd1
- RivetSamples\RivetSamples.psm1
- RivetSamples\Start-MigrationOperation.ps1
- RivetSamples\Use-CallerPreference.ps1
Version History
Version | Downloads | Last updated |
---|---|---|
0.23.1 | 20 | 11/15/2024 |
0.23.0 | 151 | 9/10/2024 |
0.23.0-rc1 | 9 | 4/18/2024 |
0.22.0 | 317 | 7/6/2023 |
0.21.1 | 34 | 5/24/2023 |
0.21.0 | 7 | 5/24/2023 |
0.20.0 | 8 | 5/19/2023 |
0.20.0-rc2 | 14 | 5/3/2023 |
0.20.0-rc1 | 7 | 5/2/2023 |
0.19.0 | 12 | 4/3/2023 |
0.18.0 | 12 | 2/22/2023 |
0.18.0-rc1 | 6 | 2/18/2023 |
0.17.0 | 26 | 10/26/2022 |
0.16.0 | 12 | 10/18/2022 |
0.15.0 | 14 | 10/11/2022 |
0.14.0 | 30 | 8/29/2022 |
0.13.0 | 218 | 6/23/2022 |
0.12.0 | 288 | 5/5/2020 |
0.12.0-beta239 | 15 | 5/5/2020 |
0.12.0-beta236 | 18 | 5/1/2020 |
0.12.0-beta233 | 21 | 4/27/2020 |
0.12.0-beta218 (current version) | 23 | 4/17/2020 |
0.9.1 | 25 | 3/27/2020 |
0.9.0 | 82 | 11/27/2018 |
0.8.1 | 249 | 11/26/2016 |