【问题标题】:How to generate Rails migration with Docker如何使用 Docker 生成 Rails 迁移
【发布时间】:2017-11-20 15:01:16
【问题描述】:

我正在尝试为在 Docker 中运行的 Rails 4 项目生成迁移。

到目前为止我尝试过的是

docker-compose run web rails g migration migration_name
docker-compose exec web rails g migration migration_name

终端一直告诉我一切正常,迁移已成功创建。但我的项目中没有看到迁移文件。

但是,如果我在 Docker 中检查项目文件

docker-compose exec web bash
ls -l db/migrate/

我看到文件确实在那里。

如果有帮助,我在 Mac OS X 上

【问题讨论】:

  • 您期待什么?您正在启动一个 docker 容器,所有创建的文件都将在容器内...
  • 我对我所做的事情并没有太大的期望。我只是无法在我的系统上为该项目成功运行bundle install,所以我不得不将项目放入 Docker 环境中。我只是想问一下是否可以在 Docker 中创建一个迁移文件并将其放入本地项目文件夹中?
  • 是的,您可以使用命令docker cp <container-name>:<path-to-file-in-container> .将迁移文件从容器复制回您的主机
  • 谢谢,现在可以了,我打算做这样的事情。然而,学习一些“正确的方法”来做这些事情会很棒

标签: ruby-on-rails ruby-on-rails-4 docker docker-compose


【解决方案1】:

您应该考虑使您的根应用程序目录成为您主机上的一个卷。 Documentation on volumes.

在您的 docker-compose.yml 中,您可以使用以下命令添加您的根卷:

volumes:
  - .:/YOUR-APP-NAME

【讨论】:

  • 我的docker-compose.yml 中有这个。但它没有正确设置。所以我正确地添加了音量,它开始工作了!谢谢你。尽管您的回答实际上并不能解决我的问题,但我想我应该接受它,因为它肯定指向解决方案。
【解决方案2】:

正确安装后仍然需要一两分钟才能显示在我的 IDE 中

【讨论】:

    猜你喜欢
    • 2021-11-19
    • 2013-02-16
    • 2015-12-07
    • 2016-08-02
    • 2011-07-27
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多