- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用更改日志对数据库进行更改。由于我无法保证特定代码当前存在但可能存在的值,因此我需要能够检查它们以便执行插入或更新。
这是我一直在测试的内容,它似乎没有做任何事情。欢迎任何建议。
databaseChangeLog = {
changeSet(author:'kmert', id:'tubecap-insert-update-1') {
preConditions(onFail="WARN",onFailMessage:"Tube cap does not exist,skipping because it cannot be updated."){
sqlCheck(expectedResult='1', 'SELECT * FROM [ltc2_tube_cap] WHERE code=11')
}
grailsChange {
change {
sql.execute("""
UPDATE [ltc2_tube_cap]
SET [name] = 'White'
WHERE [code] = 11;
""")
}
rollback {
}
}
}
}
更新:我运行了变更日志脚本,但现在收到此错误。我从在线资源中找到了该代码。我找不到很多关于先决条件的文档...
|启动数据库 hapi_app_user @ jdbc:jtds:sqlserver://localhost;databaseName=LabTraffic;MVCC=TRUE;LOCK_TIMEOUT=10000 的 dbm-update解析 TubeCapUpdate.groovy 时出现问题:没有方法签名:grails.plugin.databasemigration.DslBuilder.sqlCheck() 适用于参数类型:(java.lang.String, java.lang.String) 值:[1, SELECT * FROM ltc2_tube_cap WHERE code=11] (使用 --verbose 重新运行以查看堆栈跟踪)解析changelog.groovy时出现问题:没有方法签名:grails.plugin.databasemigration.DslBuilder.sqlCheck()适用于参数类型:(java.lang.String,java.lang.String)值:[1,SELECT * FROM ltc2_tube_cap WHERE code=11] (使用 --verbose 重新运行以查看堆栈跟踪)groovy.lang.MissingMethodException:没有方法签名:grails.plugin.databasemigration.DslBuilder.sqlCheck()适用于参数类型:(java.lang.String,java.lang.String)值:[1,SELECT * FROM ltc2_tube_cap其中代码=11] 在 grails.plugin.databasemigration.DslBuilder.invokeMethod(DslBuilder.groovy:117) 在 Script1$_run_closure1_closure2_closure3.doCall(Script1.groovy:13) 在 grails.plugin.databasemigration.DslBuilder.invokeMethod(DslBuilder.groovy:117) 在 Script1$_run_closure1_closure2.doCall(Script1.groovy:12) 在 grails.plugin.databasemigration.DslBuilder.invokeMethod(DslBuilder.groovy:117) 在 Script1$_run_closure1.doCall(Script1.groovy:11) 在 grails.plugin.databasemigration.GrailsChangeLogParser.parse(GrailsChangeLogParser.groovy:84) 在 grails.plugin.databasemigration.DslBuilder.handleInincludedChangeLog(DslBuilder.groovy:747) 在 grails.plugin.databasemigration.DslBuilder.createNode(DslBuilder.groovy:139) 在 grails.plugin.databasemigration.DslBuilder.createNode(DslBuilder.groovy:590) 在 grails.plugin.databasemigration.DslBuilder.invokeMethod(DslBuilder.groovy:117) 在 Script1$_run_closure1.doCall(Script1.groovy:6) 在 grails.plugin.databasemigration.GrailsChangeLogParser.parse(GrailsChangeLogParser.groovy:84) 在 liquibase.Liquibase.update(Liquibase.java:107) 在 DbmUpdate$_run_closure1_closure2.doCall(DbmUpdate:26) 在 _DatabaseMigrationCommon_groovy$_run_closure2_closure11.doCall(_DatabaseMigrationCommon_groovy:59) 在 grails.plugin.databasemigration.MigrationUtils.executeInSession(MigrationUtils.groovy:133) 在 _DatabaseMigrationCommon_groovy$_run_closure2.doCall(_DatabaseMigrationCommon_groovy:51) 在 DbmUpdate$_run_closure1.doCall(DbmUpdate:25)
最佳答案
您的 sqlCheck 先决条件语法不正确。
sqlCheck(expectedResult:'1', 'SELECT * FROM [ltc2_tube_cap] WHERE code=11')
请注意,代码中的第一个参数是赋值语句 expectedResult=1
,它应该是映射条目 expectedResult:1
。
我在这个 Jira 页面上找到了隐藏的答案。 https://jira.grails.org/browse/GPDATABASEMIGRATION-40讽刺的是,这是在文档中添加大量数据库迁移 DSL 示例。
关于grails 变更日志先决条件不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23524383/
我正在尝试实现 https://github.com/PHP-FFMpeg/PHP-FFMpeg 我将 src/FFMpeg 文件夹复制到我的包含文件夹中,并确保我的自动加载器知道在哪里可以找到所有内
我正在使用 VS 2010。我的应用程序是 ClickOnce 部署的。我的三个先决条件是 CR 2010 和 .NET 4.0。 当我运行 ClickOnce 时,首先运行 CR 2010 先决条件
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我想知道在编写 JQuery 或解析 JSON 时需要附加哪些必要的文件作为脚本。在一些示例中,我看到开发人员引用:jquery-1.3.2.min.js,有些则使用 jquery.min.js。对于
如果我理解正确的话,ClickOnce 仅通过包含先决条件信息的 setup.exe 文件在首次安装应用程序时检查先决条件。如果用户将来打开该应用程序,它将检查新版本,但不会再次启动 setup.ex
是否可以在 YAML 中使用前提条件我没有找到除此页面之外的任何来源 http://www.liquibase.org/documentation/yaml_format.html 但我正在寻找相当于
我有一些组件MSI软件包,需要一起安装才能形成最终应用程序。 问题是:组成软件包的组件可以被更新,并且该组件可以在http文件服务器上重新启动。我应该采取什么方法? 我正在编写的安装程序是“主”安装程
目标:给定一个没有安装 python 的 Debian 服务器(以及其他一些缺少 ansible 先决条件),使用 ansible 来安装它们,这样我就可以使用普通的 ansible 模块(几乎所有模
我将 .NET Framework 4 作为先决条件添加到我的安装包中。安装此包时,错误报告说安装 .NET 4 需要 WIC“windows 镜像组件”,我也将其添加为先决条件。 但是由于已经安装了
我想检查基类的前提条件,以便我知道子类型将始终使用有效的构造函数参数。 让我们以一个构造函数为例: 接受 2 个或更多参数 接受不同类型的参数 对于一个参数,它执行多项检查(例如,字符串不为空并且不为
我尝试构建 a Perl distribution for a home-made module , 来自 Module::Starter根据。每个测试都在我的机器上通过,但当我将其上传到 CPAN
我通过导入 VS2010 安装部署项目(使用集成向导)在 VS2013 中创建了 InstallShield 安装项目。当我尝试编译它时,它说: ISEXP : error : -7067: Your
我正在使用 Wix,并且我有针对 Dotnet 4.0 以 .net 编写的自定义操作。安装过程中,welcome dlg 后,会在系统中检查 dotnet 框架,如果不存在,则会显示 dotnetf
我正在处理上述大学数据库,想知道如何强制执行先决条件表。我有它,所以每个 crs_code 都有一个与 crs_requires 相关的先决条件。但是,我需要想出一种方法,以便当学生去上课时,它会检查
我用 C#、.NET Framework 2.0 编写了一个 Windows 窗体应用程序,它使用 System.Data.OleDb 与 SQL Server 2000 数据库对话,该数据库运行良好
python 是否有任何等效于 java 的先决条件库。例如 在java中,你可以这样检查参数: public void dummymethod(Cat a, Dog b) { Precondi
我有一个 WiX 安装程序,我想检查 .Net 3.5,如果它不存在,请安装它。我的 wixproj 文件中有以下几行: .NET Framework 3.5 WIndows I
当我的 Wix 包尚未安装在客户端的机器上时,如何让我的 Wix 包下载所需的 .NET Framework?我已经有条件检查已安装的 .NET 版本,但我不确定如何在未找到时下载和安装它。 Clic
我有这样的工作: target1.PREREQUISITES = file11 file12 file13 target2.PREREQUISITES = file21 file22 file23 $
编辑: 经过更多搜索后,我找到了完成此操作的方法。我用了This preview page改变我的 Product.xml然后我复制了一些现有的 Product.xml 以检查它是否已经安装。 因此,
我是一名优秀的程序员,十分优秀!