Rivet.psd1
# # Module manifest for module 'Rivet' # # Generated by: Aaron Jensen # # Generated on: 1/25/2013 # @{ # Script module or binary module file associated with this manifest RootModule = 'Rivet.psm1' # Version number of this module. ModuleVersion = '0.12.0' # ID used to uniquely identify this module GUID = '8af34b47-259b-4630-a945-75d38c33b94d' # Author of this module Author = 'WebMD Health Services' # Company or vendor of this module CompanyName = 'WebMD Health Services' CompatiblePSEditions = @( 'Desktop', 'Core' ) # Copyright statement for this module Copyright = 'Copyright 2013 - 2019 WebMD Health Services.' # Description of the functionality provided by this module Description = @' Rivet is a database migration/change management/versioning tool inspired by Ruby on Rails' Migrations. It creates and applies migration scripts for SQL Server databases. Migration scripts describe changes to make to your database, e.g. add a table, add a column, remove an index, etc. Migrations scripts should get added to your version control system so they can be packaged and deployed with your application's code. '@ # Minimum version of the Windows PowerShell engine required by this module PowerShellVersion = '5.1' # Name of the Windows PowerShell host required by this module PowerShellHostName = '' # Minimum version of the Windows PowerShell host required by this module PowerShellHostVersion = '' # Minimum version of the .NET Framework required by this module DotNetFrameworkVersion = '' # Minimum version of the common language runtime (CLR) required by this module CLRVersion = '' # Processor architecture (None, X86, Amd64, IA64) required by this module ProcessorArchitecture = '' # Modules that must be imported into the global environment prior to importing this module RequiredModules = @() # Assemblies that must be loaded prior to importing this module RequiredAssemblies = @( 'bin\Rivet.dll' ) # Script files (.ps1) that are run in the caller's environment prior to importing this module ScriptsToProcess = @() # Type files (.ps1xml) to be loaded when importing this module #TypesToProcess = '' # Format files (.ps1xml) to be loaded when importing this module FormatsToProcess = @( 'Formats\RivetMigrationResult-GroupingFormat.format.ps1xml', 'Formats\RivetOperationResult-GroupingFormat.format.ps1xml', 'Formats\Rivet.Migration.format.ps1xml', 'Formats\Rivet.OperationResult.format.ps1xml' ) # Modules to import as nested modules of the module specified in ModuleToProcess NestedModules = @( 'bin\Rivet.dll' ) # Functions to export from this module FunctionsToExport = @( '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-Migration', 'Get-RivetConfig', 'Get-RivetConfig', 'Import-RivetPlugin', 'Invoke-Ddl', 'Invoke-Rivet', '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' ) # Cmdlets to export from this module CmdletsToExport = @( 'Add-Index' ) # Variables to export from this module VariablesToExport = '' # Aliases to export from this module AliasesToExport = @( 'BigInt', 'Binary', 'Bit', 'Char', 'Date', 'DateTime', 'DateTime2', 'DateTimeOffset', 'Decimal', 'Disable-CheckConstraint', 'Enable-CheckConstraint', 'Float', 'HierarchyID', 'Int', 'Money', 'NChar', 'New-NumericColumn', 'Numeric', 'NVarChar', 'Real', 'rivet', 'RowVersion', 'SmallDateTime', 'SmallInt', 'SmallMoney', 'SqlVariant', 'Time', 'TinyInt', 'UniqueIdentifier', 'VarBinary', 'VarChar', 'Xml' ) # List of all modules packaged with this module ModuleList = @() # List of all files packaged with this module FileList = @() # Private data to pass to the module specified in ModuleToProcess PrivateData = @{ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. Tags = @('sql-server','evolutionary-database','database','migrations') # A URL to the license for this module. LicenseUri = 'http://www.apache.org/licenses/LICENSE-2.0' # A URL to the main website for this project. ProjectUri = 'http://get-rivet.org' # A URL to an icon representing this module. # IconUri = '' # The module's prerelease label. Modified by build process when publishing a prerelease version. Prerelease = 'beta233' # ReleaseNotes of this module ReleaseNotes = @' ## 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. * Fixed: Get-Migration and Get-MigrationFile don't properly exclude migrations in some situations. * Fixed: the idempotent queries for renaming a data type and index don't work. '@ } # End of PSData hashtable } # End of PrivateData hashtable } |