Ruby on rails 铁路播种城市和地区表
我有一个Rails应用程序,其中有标准的城市和地区行,我希望在生产和开发中的表中初始化这些行。我将数据以数组形式保存在单独的文件中。 示例cairo_areas.txt文件包含以下内容:Ruby on rails 铁路播种城市和地区表,ruby-on-rails,Ruby On Rails,我有一个Rails应用程序,其中有标准的城市和地区行,我希望在生产和开发中的表中初始化这些行。我将数据以数组形式保存在单独的文件中。 示例cairo_areas.txt文件包含以下内容: ["Downtown - Abdin", "Downtown - Abu El Rish", "Downtown - Ahmed Helmy", "Downtown - Ahmed Maher", "Downtown - Gamea' El Banat"] 当然,这只是作为示例的数组的一部分 现在我试图寻找在
["Downtown - Abdin",
"Downtown - Abu El Rish",
"Downtown - Ahmed Helmy",
"Downtown - Ahmed Maher",
"Downtown - Gamea' El Banat"]
当然,这只是作为示例的数组的一部分
现在我试图寻找在数据库中进行初始化的最佳方法,但我找到的大多数答案似乎都非常陈旧。
简而言之,我发现的两种方法是:
seeds.rb
中。缺点是那里的大多数数据都是用于测试目的的,我试图将原始数据与伪造数据分开李>
我想知道在初始化时将真实生产数据插入数据库的最佳方法是什么?根据Mark在回答中告诉您的,第三种方法广泛用于向生产环境添加数据,即创建迁移以创建这些记录或修改现有记录 关于seeds.rb必须说两件事,这个文件应该包含最少的数据量,根据系统的业务逻辑,这些数据使系统能够正常工作。例如,创建角色、权限和其他信息,如果没有这些信息,您的系统将毫无意义。此外,这个seeds.rb脚本应该是幂等的,因此您可以随时重新运行seeds.rb,而不会中断数据的逻辑。所以,基本上应该在执行Model.create之前使用Model.find。从这个意义上讲,您可以继续向该种子文件添加信息,并随时重新运行它 您可能想知道如何选择迁移或rake任务。我建议您使用迁移,因为如果使用正确,您可以回滚这些更改。使用任务时没有的选项
对不起,如果我说得太多,我希望这会有帮助 根据Mark在回答中告诉您的内容,还有第三种选择,广泛用于向生产环境添加数据,即创建迁移以创建这些记录或修改现有记录 关于seeds.rb必须说两件事,这个文件应该包含最少的数据量,根据系统的业务逻辑,这些数据使系统能够正常工作。例如,创建角色、权限和其他信息,如果没有这些信息,您的系统将毫无意义。此外,这个seeds.rb脚本应该是幂等的,因此您可以随时重新运行seeds.rb,而不会中断数据的逻辑。所以,基本上应该在执行Model.create之前使用Model.find。从这个意义上讲,您可以继续向该种子文件添加信息,并随时重新运行它 您可能想知道如何选择迁移或rake任务。我建议您使用迁移,因为如果使用正确,您可以回滚这些更改。使用任务时没有的选项
对不起,如果我说得太多,我希望这会有帮助 如果我们需要修改生产数据,并且有大量数据需要导入,我们通常会创建一个包含所有更改的迁移。这样,就有一些交易记录,而不仅仅是某个牛仔在控制台中游荡。如果我们需要修改生产数据,并且有大量数据需要导入,我们通常创建一个包含所有更改的迁移,这样就有了一些事务记录,而不仅仅是控制台中的牛仔