我是否因为忘记指定哪个环境而用 rake 任务覆盖了我的生产数据库以放入示例数据?
Did I overwrite my production database with a rake task to put in sample data because I forgot to specify which environment?
我刚刚继承了一个客户项目的代码库,我是一名初级开发人员。我建立了我的开发环境并想用示例数据填充它。之前的开发人员在 lib/tasks/sample_data.rake 中留下了一个文件
它说:
namespace :db do
desc "Fill database with sample data"
task populate: :environment do
然后是示例数据。
我 运行 bundle exec rake db:populate 但没有给它一个环境参数。我现在在我的本地有示例数据:-) 但我担心我可能以某种方式也覆盖了生产数据库?
它部署在 heroku 上。我们在 gem 文件中有用于生产的 pg gem 和用于开发的 sqlite3。 database.yml 文件仍然显示
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
但是 heroku 构建日志说:写入 config/database.yml 以从 DATABASE_URL 读取所以我猜这就是它知道使用 postgres 的方式?但是我不是很懂
目前,已部署的站点看起来不错,但我担心如果我将任何内容推送到 Heroku 并进行新构建,它会覆盖它。有谁知道我是否还好或是否需要修理东西?
非常感谢!
你很好。 Heroku 使用 automatically generated database.yml。为了使该任务影响您的生产部署,您必须 运行 heroku run rake db:populate
.
我刚刚继承了一个客户项目的代码库,我是一名初级开发人员。我建立了我的开发环境并想用示例数据填充它。之前的开发人员在 lib/tasks/sample_data.rake 中留下了一个文件 它说:
namespace :db do
desc "Fill database with sample data"
task populate: :environment do
然后是示例数据。
我 运行 bundle exec rake db:populate 但没有给它一个环境参数。我现在在我的本地有示例数据:-) 但我担心我可能以某种方式也覆盖了生产数据库? 它部署在 heroku 上。我们在 gem 文件中有用于生产的 pg gem 和用于开发的 sqlite3。 database.yml 文件仍然显示
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
但是 heroku 构建日志说:写入 config/database.yml 以从 DATABASE_URL 读取所以我猜这就是它知道使用 postgres 的方式?但是我不是很懂
目前,已部署的站点看起来不错,但我担心如果我将任何内容推送到 Heroku 并进行新构建,它会覆盖它。有谁知道我是否还好或是否需要修理东西?
非常感谢!
你很好。 Heroku 使用 automatically generated database.yml。为了使该任务影响您的生产部署,您必须 运行 heroku run rake db:populate
.