【问题标题】:data source location数据源位置
【发布时间】:2014-07-09 17:38:27
【问题描述】:

我目前正在使用带有 eclipse 的 Grails 工具套件。我创建了一个应用程序,定义了一个域类,我的应用程序运行良好。我的问题是,当我部署我的战争文件时,数据库是如何存储的?我是否将我的数据源文件链接到 sql 数据库 url。如果是这样,在第一次运行我的应用程序时,Grails 会为您创建数据库吗?你现在可能明白我的问题了。这是如何运作的?

我查看了这个文档,但找不到 grails 是如何创建我定义的数据库的。

http://grails.org/doc/latest/guide/conf.html#dataSourcesAndEnvironments

【问题讨论】:

    标签: grails


    【解决方案1】:

    首先,除了 H2 Grails 不会设置您的数据库。您需要设置数据库,并配置数据源以连接到数据库。

    也就是说,Grails 将根据您的域类管理(尽其所能)您的数据库架构。这是在 DataSource.groovy 文件中将 dbCreate 设置为“update”时的默认行为。

    我建议阅读有关数据库配置和设置的在线 documentation

    如果您需要这种级别的控制和灵活性,您还可以使用更高级的工具,例如 database migration plugin

    【讨论】:

      【解决方案2】:

      在 DataSource.groovy(在 conf 目录下)中,您可以找到 H2 db 的定义。你可以配置一个mysql db、oracle、mongodb等数据库。 您还可以指定在开发、测试和生产环境中使用哪个数据库。

      【讨论】:

        【解决方案3】:

        当您运行默认的 Rails 应用程序时。 grails 环境为您的应用程序创建一个内存数据库。每次重新启动项目时都会创建它。

        如果您想拥有 mysql、mongodb 等持久数据库。 你需要做的是(例如mysql)

        1. 在 BuildConfig.groovy 中添加 mysql 依赖项,如 runtime 'mysql:mysql-connector-java:5.1.27'

        2. Add Database and driver settings in DataSource.groovy。现在,您可以为不同的环境使用不同的数据库,即 prod、test 和 dev 模式。您可以通过对数据库进行全局设置或分别为每种模式定义设置来做到这一点。

        为了从您正在运行的应用程序中查看您的数据库,您可以使用链接http://localhost:8080/app/dbconsole,只需输入您的数据库密码和用户名。您将能够在此处执行所有与数据库相关的查询。如果您在内存数据库中使用 grails 默认值,只需使用 hit 输入 DataSource.groovy 中用于数据库的默认值

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-16
          • 1970-01-01
          • 2018-07-18
          • 2018-02-08
          • 1970-01-01
          • 2013-09-01
          相关资源
          最近更新 更多