我正处于学习RoR和与Heroku合作的早期阶段。所以我有一个与本地和生产数据库的成熟应用程序。我已经使用pg:push
来创建初始生产数据库,但我很欣赏这需要您每次都重置数据库。我现在在我的本地数据库中有一个新表,我希望将其推向生产,但我不想重置并丢失数据。
似乎我可以从生产中创建备份,然后重新加载。或者可以运行pg:pull
将数据导入我的本地数据库,然后运行pg:push
,这样当我添加新表时,我也在重新加载现有数据。
所有这些看起来有点长啰嗦。从php和mysql的一些知识,我会简单地运行SQL查询来添加新表,是不是有类似的方法?
答案 0 :(得分:0)
我认为你要搜索的是迁移:
class CreateProducts < ActiveRecord::Migration[5.0]
def change
create_table :products do |t|
t.string :name
t.text :description
t.timestamps
end
end
end
您可以在本地开发环境中创建迁移,然后在满意后在生产服务器上运行它们。您可以在此处详细了解迁移:
答案 1 :(得分:0)