gpt4 book ai didi

grails - 如何告诉 Grails 插件使用辅助数据源(不是默认数据源)?

转载 作者:行者123 更新时间:2023-12-02 14:01:34 25 4
gpt4 key购买 nike

我创建了一个插件,负责 RDBMS 对辅助数据源的访问,这样我们对将要使用它的应用程序隐藏域和服务层(它阻止他们修改该源)。我已将插件发布到工件,然后将其成功导入到我的应用程序中。但是,插件使用的数据源文件已从打包中排除,并且在调用插件中的服务方法时,它会尝试针对我的默认数据源执行这些查询。

  • 有没有办法告诉 grails 插件不使用默认数据源而是使用辅助数据源?或者有没有办法让插件不排除它自己的 DataSource.groovy 文件?

  • 谢谢

    更新

    下面提供的答案会起作用,基本上这就是 Grails 中多个数据源的工作方式。唯一的缺点是,当我开发插件本身并且我想将它作为应用程序运行以确保它执行我想要的操作时,grails 期望的数据源必须被称为 。数据源 所以我必须注释掉
    static mapping = {
    // datasource 'dataSource_lookup'
    }

    为了能够运行它。然后,当我看到一切都如我所愿并且我想发布插件时,我必须浏览所有域文件并取消注释上面的行,以便在将插件导入我的主应用程序时它会有一个引用到辅助数据源。然而,这是非常非常痛苦和缓慢的。

    有一个更好的方法吗?为什么必须调用默认数据源 数据源 ?可以改变吗?

    最佳答案

    在插件的域类中,您必须执行以下操作

    static mapping ={
    //if you need to use the second ds only in Production you can use the Environment
    if(Environment.PRODUCTION){
    datasource('your_sencondary_datasource')
    }
    }

    在 Datasource.groovy 的主要应用程序中,您需要像这样映射数据源
    production{
    dataSource {
    <'your configs of primary ds'>
    }

    dataSource_you_secondary_datasource {
    <'your configs to secondary ds'>
    }
    }

    关于grails - 如何告诉 Grails 插件使用辅助数据源(不是默认数据源)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27381969/

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