gpt4 book ai didi

grails - Grails-如何构建没有DDL功能的GUI。我设置了dbCreate =“none”

转载 作者:行者123 更新时间:2023-12-02 15:53:58 25 4
gpt4 key购买 nike

我是一个ETL / BI / Stats资源,涉足Grails(2.4.4) Realm ,以构建一个简单的UI:


Column    Original Value            New Value 
> Fld 1 <display from schema.tbl> <Overrides>
> Fld 2 <display from schema.tbl> <Overrides>

================================================== ======================

这是我的工作方式:
package poc_grails_ao

class FM8 {

float fld1 = 15
String fld2

static mapping = {
table Name :FM8, schema:barsglobal
}


}

禁用DDL的dataSource.groovy的代码段是:
dataSource {
dbCreate = "none" // one of 'create', 'create-drop', 'update', 'validate', ''
//dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
//url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
pooled = true
driverClassName = "com.ibm.db2.jcc.DB2Driver"
url = "jdbc:db2://hostname:port/DB Name"
dialect = org.hibernate.dialect.DB2Dialect
username = "id"
password = "passwd"

在使用H2的非DB2后端上,能够构建屏幕。但是在成功连接之后,在DB2后端,遇到以下错误:
2016-02-11 14:59:15,144 [http-bio-8080-exec-8] ERROR spi.SqlExceptionHelper  - DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=THIS_.ID, DRIVER=3.61.65
Error |

ERROR errors.GrailsExceptionResolver - SqlSyntaxErrorException occurred when processing request: [GET] /POC_Grails_AO/FM8/index
DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=THIS_.ID, DRIVER=3.61.65. Stacktrace follows:
Message: DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=THIS_.ID, DRIVER=3.61.65

我的问题的关键:
a.Do  the "create-drop","create" etc options for dbCreate impact the live table objects on the DB2 backend or a "copy" of the schema being built within the Grails env?
b. Is it possible to allow only DMLs(updates to data only) and not allow any drop/updates to schemas.
c. How is the implementation( a syntax example for one col is awesome!) to selectively choose few columns(Packed decimal, Strong, Date etc) from the DB2 table that would participate in the UI ?

在我从DWBI世界到前端GUI世界实现飞跃的过程中,请多多包涵,到目前为止,我肯定喜欢Grails的潜力!

谢谢
拉古

最佳答案

首先,欢迎来到SO和Grails!

请注意,在这里,每个帖子您只会收到一个问题。前两个是相关的,所以我将介绍它们。

答案隐藏在documentation中,因此这是 dbCreate 选项的副本:

  • 创建-删除现有模式并在启动时创建模式,首先删除现有表,索引等。
  • create-drop -与create相同,但是在应用程序完全关闭时也会删除表。
  • 更新-创建丢失的表和索引,并在不删除任何表或数据的情况下更新当前模式。请注意,这不能正确处理许多模式更改,例如列重命名(剩下的旧列包含现有数据)。
  • 验证-不对数据库进行任何更改。将配置与现有数据库架构进行比较,并报告警告。
    其他任何值-不执行

  • 基于此, dbCreate = 'validate'将满足您的需求。但是,这意味着您将需要自己创建表。您可以使用 schema-export命令让Grails有所帮助。例如,如果运行: grails prod schema-export,您将获得一个名为ddl.sql的文件,其中包含DB2 SQL DDL命令。 schema-export命令还具有运行SQL DDL的功能。您可以使用此功能来创建初始数据库。

    关于grails - Grails-如何构建没有DDL功能的GUI。我设置了dbCreate =“none”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35350768/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com