一尘不染

在已部署的服务器上进行Grails数据库迁移

tomcat

大家好,我遇到了grails数据库迁移插件的问题/困惑。

用于学习的资源-

  1. 官方Grails数据库迁移插件文档-http://grails-plugins.github.io/grails-database-migration/docs/manual/guide/introduction.html
  2. 数据库迁移示例-http: //grails.github.io/grails-howtos/en/manageDatabases.html

现在借助这些,我可以很好地迁移或更改本地计算机上已安装grails并正常工作的数据库上的数据库。

问题是生产服务器是在线部署的,我总是将WAR文件上传到Apache
Tomcat上进行部署。因此,它基本上可以在JAVA上运行,因此在Ubuntu机器上未安装grails。现在如何在服务器上迁移mysql数据库?


阅读 220

收藏
2020-06-16

共1个答案

一尘不染

在config.groovy文件中的config下面添加。迁移将在WAR部署期间运行。

//===========================DATA MIGRATION============================
//Run changelog.groovy during application deployment on server?
grails.plugin.databasemigration.updateOnStart = true
//File used to run the db migration scripts
grails.plugin.databasemigration.updateOnStartFileNames = ['changelog.groovy']
//Absolute path of changelog.groovy in the app base dir
grails.plugin.databasemigration.changelogLocation = 'migrations'
//  the default schema to use when running auto-migrate on start
//grails.plugin.databasemigration. updateOnStartDefaultSchema ='schema' // You may not need this in MYSQL
//=====================================================================

基于以上配置,这是文件夹结构应为的方式:

your-grails-project
      --migrations/
          --changelog.groovy
          --migration1.groovy
          --migration2.groovy

changelog.groovy

databaseChangeLog = { 
  include file: 'migration1.groovy'
  include file: 'migration2.groovy'
}
2020-06-16