在开发模式下通过元编程删除simpledb-mapWith



我在grails应用程序中使用simpleDB GORM,尽管simpleDB很棒,但在开发模式下,每次点击都需要几秒钟的时间,导致开发速度不那么快。

根据我的理解,simpleDB只有在域类在代码中有以下两行时才起作用

String id
static mapWith = "simpledb"

所以,我的问题是,是否可以根据某种标志从域类中动态删除/隐藏这两个声明?

同样的问题问得不一样,

Groovy中有没有一种方法,很可能是元编程,可以让我

  • 从类中删除变量声明(实际上是Domain类)
  • 从类中删除静态mapWith声明(再次为Domain类)
  • 最后,有没有一种方法可以遍历我的所有域类,并在引导程序中执行前两个操作

如果删除mapWith="simpledb",它将与Hibernate映射,在dev模式下在Hibernate GORM上开发和在prod模式下在simpledb GORM上进行开发可能不是一个好主意-最大的问题是,您的应用程序会表现得非常不同,因为simpledb最终基于一致性,这意味着在生产中,与关系数据库的旧的一致性世界相比,你会得到令人讨厌的惊喜。。。

感谢您使用simpledb插件!

罗马人。

我不熟悉simpleDB,但我假设如果您的mapWith看起来像:

static mapWith = ""

不会使用那个simpleDB。

因此,您可以将其添加到Config.groovy:中

environments {
    production {
        mapWith = "simpleDB"
    }
    development {
        mapWith = ""
    }
    test {
        mapWith = ""
    }
}

然后您可以从以下位置访问配置值:

import org.codehaus.groovy.grails.commons.*
static mapWith = ConfigurationHolder.config.mapWith

所以,当你创建一个生产战争时,你会得到"simpleDB",否则你会得到一个空字符串。以下是查看如何使用Config.groovy的链接:http://grails.org/doc/latest/guide/conf.html#config

如果我偏离了simpleDB的工作方式,我道歉。

我还没有尝试过,但我发现了这个链接,它声称:

SimpleDB/dev提供了一个本地SimpleDB服务器,因此您可以离线开发,甚至目前没有SimpleDB帐户。

相关内容

  • 没有找到相关文章

最新更新