1

我在本地机器上创建了一个产品数据库,现在我需要将它放到生产服务器上。产品数据库在生产中加载。但是,我似乎无法找到将图像发送到生产服务器的方法。使用capistrano/nginx/AWS

我需要以某种方式从我的本地开发服务器获取图像,这些图像存储在:

app_root/public/system

...进入生产环境的系统文件夹...

xxx.com/current/public/system

有没有办法做到这一点?

4

1 回答 1

2

Paperclip 依赖于数据库来存储文件信息,因此仅仅复制和粘贴数据库记录并不容易。您可以使用 Rails 的种子来加载产品,只要每个产品的图像都可以在文件系统中访问。例如:

# db/seeds.rb
products = Product.create([
    { name: "Shampoo",
      photo: File.open(File.join(Rails.root, 'public', 'images', 'products', 'shampoo.png'))
    },
    { name: "Conditioner",
      photo: File.open(File.join(Rails.root, 'public', 'images', 'products', 'conditioner.png'))
    },
  ])

然后rake db:seed在服务器上运行。

Fwiw 在seeds.rb文件中执行此操作并非绝对必要 - 如果需要,您可以将上述内容粘贴到控制台窗口中。

于 2013-10-02T22:31:09.447 回答