Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在CloudFoundry中创建db模式的常见做法是什么?_Database_Cloud Foundry - Fatal编程技术网

Database 在CloudFoundry中创建db模式的常见做法是什么?

Database 在CloudFoundry中创建db模式的常见做法是什么?,database,cloud-foundry,Database,Cloud Foundry,有一段时间我一直在寻找初始化关系数据库模式和预填充数据的最佳实践 有几种方法可以实现这一目标: 安装cf ex phpmyadmin并通过它导入数据和模式 使用VMC cli工具为此服务创建隧道 如果使用ruby或python,请使用manifest.yml中的db migration命令。但是,它将在每个实例上执行,并且每次实例重新升级时都会执行 哪一种最常用且最有效 VMC非常旧,不再受支持。如果它能在过去几年内部署的CloudFoundry安装上运行,我会感到惊讶。你应该用新的 如果要将命

有一段时间我一直在寻找初始化关系数据库模式和预填充数据的最佳实践

有几种方法可以实现这一目标:

  • 安装cf ex phpmyadmin并通过它导入数据和模式
  • 使用VMC cli工具为此服务创建隧道
  • 如果使用ruby或python,请使用manifest.yml中的db migration命令。但是,它将在每个实例上执行,并且每次实例重新升级时都会执行
    哪一种最常用且最有效

    VMC非常旧,不再受支持。如果它能在过去几年内部署的CloudFoundry安装上运行,我会感到惊讶。你应该用新的

    如果要将命令放入清单中,如果您有一个条件保护,只有当
    $CF\u instance\u INDEX
    等于0时才会运行迁移,那么就可以避免在每个实例上运行该命令,但是在start命令中运行迁移并不总是一个好主意,因为start命令上有一个硬超时,而且,如果迁移是长迁移,您也不希望被中断

    我听说过[1]的一个好建议是,迁移应该作为部署过程的一个单独部分来处理,可以通过指向数据库服务实例的URL和凭据,也可以在本地运行迁移


    [1] 此建议归功于。

    VMC非常旧,不再受支持。如果它能在过去几年内部署的CloudFoundry安装上运行,我会感到惊讶。你应该用新的

    如果要将命令放入清单中,如果您有一个条件保护,只有当
    $CF\u instance\u INDEX
    等于0时才会运行迁移,那么就可以避免在每个实例上运行该命令,但是在start命令中运行迁移并不总是一个好主意,因为start命令上有一个硬超时,而且,如果迁移是长迁移,您也不希望被中断

    我听说过[1]的一个好建议是,迁移应该作为部署过程的一个单独部分来处理,可以通过指向数据库服务实例的URL和凭据,也可以在本地运行迁移


    [1] 这一建议归功于。

    尝试说服您的cloudfoundry管理员,数据库应该可以从cloudfoundry外部访问。然后使用任何数据库工具,甚至是命令行客户机来创建模式。您还可以让hibernate(如果您使用java)@user152468创建/更新模式。就我而言,让外部访问cloudfoundry是不可能的。这就是为什么我必须使用另一个应用程序(cf ex phpmyadmin)来初始化数据库。试着说服你的cloudfoundry管理员,数据库应该可以从cloudfoundry外部访问。然后使用任何数据库工具,甚至是命令行客户机来创建模式。您还可以让hibernate(如果您使用java)@user152468创建/更新模式。就我而言,让外部访问cloudfoundry是不可能的。这就是为什么我必须使用另一个应用程序(cf ex phpmyadmin)来初始化数据库。