我刚开始学习Ruby On Rails。我正在为我的本地机器设置一个现有的Rails项目。我希望所有的过程直到现在还可以,但我不知道如何从现有项目导入表数据也不知道数据存储在Rails中的哪个位置? 我有一个 db / development.sqlite3 文件我运行了 ' rake db:schema:load' 和 ' rake db:migrate' 但我想这些命令只是设置了数据库结构,而不是数据插入。如果有人能以最简单的方式帮助我,并告诉我一些基本原理
,那将是一件好事答案 0 :(得分:0)
您的问题可以通过两种方式得到解答,具体取决于您已有的数据:
与rake db:migrate
一样,db:seed
基本上会占用db/seeds.rb
&适用于您的数据库。 seeds.db
的内容只是简单的ActiveRecord:
Model.create({attr: value, attr: value})
如果您要包含“原始”数据,则应打开seeds.rb
文件,填充ActiveRecord命令(如上所述),然后运行rake db:seed
将其放入服务器
数据库移植
如果你有另一个堆栈中的数据,你将不得不“移植”(我认为?)数据。没有“Rails方式”可以做到这一点,因为每个人的堆栈/数据库都不同
该过程基本上是在rake db:migrate
的两个数据库中创建正确的表,从旧堆栈下载相关数据,然后上传到新的