【问题标题】:Is it possible to manage an oracle database with flyway?是否可以使用flyway管理oracle数据库?
【发布时间】:2019-07-23 06:58:39
【问题描述】:

我真的很难理解如何使用 flyway 来管理 oracle 数据库。

有问题的数据库有 3 个模式。

如果我在我的 gradle 文件中的 flyway 插件定义中规定了 3 个模式,我如何管理用户自己的创建以及他们使用的表空间?

欢迎任何提示或建议。

Creating a DDL for a baseline for flyway

【问题讨论】:

  • 表空间和用户通常由 DBA 创建,而不是由需要它们的应用程序创建。所以这通常不是 Flyway 迁移的一部分
  • 感谢您的回复,@a_horse_with_no_name。因此,如果我想使用 flyway 从头开始​​创建用于 docker 映像的数据库,我将如何管理它并使用 flyway 来管理生成的数据库?仅使用用户和表空间获取数据库转储,将其导入 flyway 之外,然后使用 flyway?这听起来是明智的还是最佳实践方法?如果我将表空间和用户创建的 sql 添加到 flyway 脚本中,它显然会失败,因为它无法清理它们。再次感谢
  • 如果所选脚本由管理员用户完成,这将是可以实现的,但这并不安全,除非安全性受到适当限制。我现在对数据库链接也有类似的担忧,但这个更难,因为我不想将密码放在迁移脚本中。

标签: oracle flyway


【解决方案1】:

如果您要使用一些有限的超级用户帐户创建数据库,您可以使用它来创建用户和表空间,并拥有一个单独的 Flyway 迁移实例。那就是:

  1. 超级用户从sql/db-configuration/使用专用flyway.conf进行Flyway迁移
    • 创建用户、表空间和所有其他配置
  2. 应用程序用户使用专用flyway.confsql/app-code/ 迁移Flyway
    • 常规应用代码

【讨论】:

    猜你喜欢
    • 2015-03-09
    • 1970-01-01
    • 2019-01-14
    • 2012-10-13
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    相关资源
    最近更新 更多