小编sol*_*ola的帖子

在应用程序的更改日志中包含Grails插件迁移

我正在使用Grails 2.x开发模块化应用程序,我希望以每个插件/模块在其grails-app/migrations文件夹中托管自己的迁移的方式组织数据库迁移.(而不是将所有迁移放入组合应用程序项目的迁移文件夹中)

组合应用程序项目本身通常没有任何迁移,因为它们存储在插件中.

是否可以在应用程序项目中构建"主"更改日志,并且只按正确的顺序引用插件迁移文件?这样我就可以拥有一个非常干净的迁移系统来处理插件依赖性问题(我将插件迁移文件引用按顺序放置,这些顺序可能会随着时间的推移而变化,因此迁移的顺序可能相当复杂).

默认情况下,Database Migrations插件似乎根本不检查/执行插件迁移(在我的情况下是内联插件).文档没有说明这种情况,他们专注于简单的非模块化开发工作流程.

我已经看到了DB Migrations插件的一个已解决的问题,它以某种方式允许在应用程序的迁移目录之外运行迁移文件,但我认为这将使用某种硬编码的相对/绝对路径,这不是很优雅.

最优雅的解决方案是,如果我还可以为每个迁移"include"语句指定插件,那么我的主更改日志将如下所示.

databaseChangeLog = {
  include plugin:'core'       ,file:'000-initial.groovy'
  include plugin:'accounting' ,file:'000-initial.groovy'
  include plugin:'core'       ,file:'001-drop-constr-XXX.groovy'
  include plugin:'accounting' ,file:'001-add-col-yyy-to-posting-table.groovy'
}
Run Code Online (Sandbox Code Playgroud)

是否可以实现与当前数据库迁移插件类似的东西?

任何帮助/想法表示赞赏.

grails database-migration

5
推荐指数
1
解决办法
656
查看次数

如何回收 PostgreSQL 中未使用的 LOB 占用的空间

我有一个在 PostgreSQL 8.3 上运行的中型数据库集群。

数据库将数字文件(图像)存储为 LOB。

数据库集群中有相当多的活动,大量内容以持续的方式创建和删除。

尽管托管 OID 的应用程序表由应用程序正确维护(当删除映像文件时),数据库集群的大小仍在不断增长。

自动清理功能处于活动状态,因此不应发生这种情况。

postgresql lob vacuum

4
推荐指数
1
解决办法
5242
查看次数

标签 统计

database-migration ×1

grails ×1

lob ×1

postgresql ×1

vacuum ×1