我有一个SQL脚本,它有四列和大约100条记录。我只需要两列。我想把这两根柱子放进我的种子里。rb文件,这样我就可以有这些记录在我的数据库当我部署我的应用程序。什么是最简单的方法可以做到这一点?在我的种子里会是什么样子。rb文件?
首先要做的是获得所需格式的数据库,然后创建某种类型的数据库转储。MySQL使这比Sqlite更容易。将INSERT
语句放入文件中,如下所示:
ActiveRecord::Base.connection.execute("INSERT INTO `example` (`abbreviation`,`name`)
VALUES
('ABC', 'Alphabet Broadcasting Company'),
('DEF', 'Denver Echo Factory'),
('GHI', 'Gimbal Helper Industries')
")
尽管seeds.rb
是一种方便的方式来预先填充某些关键的东西,如必要的管理员或国家查找表,但随着时间的推移,它确实变得难以维护,因为seeds.rb
必须始终符合最新的模式。
简单地部署一个种子Sqlite文件并迁移它可能更容易。对于MySQL,您通常部署和加载种子数据库转储来开始工作,然后根据需要进行迁移和增强。