问题标签 [dbup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 使用带有章鱼部署错误的 DBup,(此平台不支持 System.Data.SqlClient。)
我正在使用带有 DBUP 库的 .net core 2.1 项目,但是当我尝试在 octopus 部署中运行 DBUP 时,迁移工具返回错误System.Data.SqlClient is not supported on this platform。
我遵循了章鱼文档https://octopus.com/blog/dbup-database-deployments中的所有这些步骤...
已经执行此步骤来解决问题但没有成功:
- 在目标服务器上安装 net core SDK 2.1、2.2
- 重启服务器
- 带有与 DBUP 项目关联的 System.Data.SqlClient nuget 包的新版本
不知道我能做些什么来解决这个问题
azure - Azure sql 数据仓库的 dbup?
Dbup 是否支持 azure datawarehouse DB?当我尝试运行 c# 控制台项目时,即使对于 select 语句,我也收到以下错误,有什么建议吗?除了 dacpac 之外,是否有任何替代的 sql 自动化版本,如 dbup。
azure-devops - Dacpac发布如何忽略create database语句?
由于共享数据库,我们没有管理员权限。只有我们有模式 id。在 dacpac build 或 sqlpackage.exe 发布中是否有忽略 Create database 语句?
2020-03-23T21:48:54.5875811Z ##[错误]*** 无法部署包。2020-03-23T21:48:54.5930784Z ##[错误]错误 SQL72014:.Net SqlClient 数据提供者:消息 262,级别 14,状态 1,第 1 行在数据库“主”中拒绝创建数据库权限。错误 SQL72045:脚本执行错误。执行的脚本: CREATE DATABASE [$(Datab 2020-03-23T21:48:54.6200608Z ##[error]aseName)] COLLATE SQL_Latin1_General_CP1_CI_AS
我在 sqlpackage.exe 中尝试了以下选项,但它不起作用
/p:CreateNewDatabase=False /p:ExcludeObjectTypes=Users;Logins;RoleMembership;Permissions;Credentials;DatabaseScopedCredentials
是否可以破解 dacpac sql 脚本注释创建数据库,并且从下一个版本开始它应该能够因为增量负载而跳过?欣赏你的想法。
对于 Azure sql 数据仓库,是否有任何替代 DACPAC 部署的方法?
sql-server - DbUp - 是否可以使用清单文件进行部署
我们目前使用 Dbup 进行 SQL 部署。我想配置 Dbup 以允许使用清单文件进行部署。我设想一个目录,其中包含每个版本的清单文件,清单文件包含应该在下次升级时部署的文件的文件名(或者可能是路径和名称)。因此,Dbup 不会运行它尚未运行的所有脚本,而是查看最新的清单文件,并且只运行清单文件中的脚本。现有的 Dbup 功能可以做到这一点吗?如果没有,我怎么能完成它?
sql-server - Dbup 自定义脚本提供程序 - 需要为日志脚本名称添加值
我正在创建一个在 dbup 中实现 IScriptProvider 接口的自定义 ScriptProvider,并且我能够使用该GetScripts()
方法获取脚本列表,并返回一个SqlScript
对象。我想先编译对象,然后在返回之前修改每个脚本的名称,将当前版本添加到插入到日志表中的文件名之前。
我的理解是这应该是可行的,因为脚本的内容在SqlScript
填充时已经添加到对象中,似乎此时修改名称不会影响任何事情。
我遇到的问题是Name
SqlScript 对象的属性是只读的,所以我不能随意修改它。
我该如何解决这个问题,或者是否有另一种方法可以编译要执行和记录的脚本,然后在将脚本名称写入日志表之前,为脚本名称添加一个值。
例如,Script001
变成Release 1.0.0 - Script001
。
在读取先前执行的脚本时,我还需要能够删除此值,以确保它们与实际文件名匹配并且不会再次执行。
更新
}
我已经尝试修改它以将发布添加到文件名,但是它错误地说它找不到文件,因为物理文件实际上没有以前面的字符串命名。
我最终希望有一个清单文件,将部署脚本作为“运行一次”类型的脚本运行,然后我想维护一个单一版本的东西,例如存储的过程和视图,并让清单文件指示哪些脚本可以运行每个部署,所以我们不会删除和重新创建每个存储的过程,这就是我们目前正在做的事情。
问题是,我可以选择使用 NullJournal 而不向数据库写入任何内容,或者存储的过程不会执行多次,因为它们的名称总是相同的。
也试图想其他方法来实现这一点,但到目前为止我一无所获。
在一个完美的世界中,我希望能够将物理文件dbo.StoredProcedure.sql
记录为Release 1.0.0 - dbo.StoredProcedure.sql
. 这样,如果该存储过程在未来发生变化,它将被执行并存储为Release 2.0.0 - dbo.StoredProcedure.sql
它所在的任何版本。但物理文件始终只有一个跨时间/版本的同名文件。
c# - DbUp SqlConnection AAD 输出?
由于安全原因,禁用了 SQL 身份验证,只能通过 Azure SPN 登录。从下面的链接,在 C# 中,我们可以连接:
如何在下面的 DbUp 中通过上述成功的访问令牌认证连接program.cs
?
c# - dbup 不会自动创建 schemaversions 表
我从 nuget 安装了最新的 DbUp 版本 4.4.0 并按照文档中描述的步骤进行操作
https://dbup.readthedocs.io/en/latest/
我正在使用 MySQL 数据库并创建了一个新的 .NET Core 控制台项目。
目前还没有数据库。我删除了它
我安装了 dbup 和 dbup-mysql 包
我从文档中复制了示例代码并对其进行了一些修改
我在该项目中创建了一个新的 .sql 文件并将其命名为1595961596-initial_script.sql并将其定义为嵌入式资源
.
- 运行项目
result.Successful
时返回 false 并抛出此错误
表“my_database.schemaversions”不存在
我以为它会schemaversions
自动生成表格?有人知道如何解决吗?
如果有帮助:我正在使用带有 MariaDb 的 Linux。我也尝试自己创建该表
https://dbup.readthedocs.io/en/latest/more-info/journaling/
但后来我得到了这个错误
MySql.Data.MySqlClient.MySqlException:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的 '[my_database].[schemaversions] ( [Id] int identity(1,1) not null constraint' 附近使用正确的语法
c# - “重置连接”是什么意思?System.Data.SqlClient.SqlException (0x80131904)
我知道这有点模糊,但我无法确定问题所在。
当我对本地数据库运行一些代码时,它运行良好。当我使用远程数据库时出现错误。它发生在程序执行的中间。DBup 升级运行,然后手动查询失败,出现以下异常:
System.Data.SqlClient.SqlException (0x80131904):重置连接会导致与初始登录不同的状态。登录失败。用户“sa”登录失败。
我正在SqlConnection
使用手动创建new SqlConnection()
,我也在使用DbUp
我不确定我做错了什么。也不是从哪里开始调试这个。不会改变,ConnectionString
我总是sa
用来连接到数据库。
一个很好的问题是“重置连接”是什么意思?我是怎么做的?
.net - 使用 dotnet run --project 选项时出现 NullReferenceException
我正在尝试使用dotnet run --project
语法运行我的项目文件,但我得到一个 NullReferenceException,如下所示:
这是我的主要内容:
使用将实例Console.WriteLine(upgrader)
打印DbUp.Engine.UpgradeEngine
到控制台。
我正在使用dbup-core和dbup-sqlserver包。我猜这是一个依赖问题,因为如果我在 Visual Studio 中运行一切正常。
这是我在 Powershell 中使用的命令:
dbup - DbUp - 不同变量值的循环脚本
我试图在 ID 列表上循环,以便使用不同的值执行相同的查询。
我正在考虑使用 IScript 使用 C# 创建此循环,但我无法访问使用.WithVariable()
.
有什么方法可以执行此操作吗?