Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rake db:使用neo4j gem时种子无法工作_Ruby On Rails_Ruby On Rails 4_Neo4j_Neo4j.rb - Fatal编程技术网

Ruby on rails rake db:使用neo4j gem时种子无法工作

Ruby on rails rake db:使用neo4j gem时种子无法工作,ruby-on-rails,ruby-on-rails-4,neo4j,neo4j.rb,Ruby On Rails,Ruby On Rails 4,Neo4j,Neo4j.rb,我已经说过使用gem'neo4j'使用rails开发neo4j,我想在neo4j数据库中植入一些数据。但每当我尝试做rake db:seed时,它就会说 rake aborted! Don't know how to build task 'db:seed' 我已经使用rake-T检查了所有的rake任务,没有rake db:seed 有人知道吗?检查应用程序根目录,有Rakefile吗? 制作一个名为“Rakefile”的文件并输入以下行 “#!/usr/bin/env rake 需要文件。

我已经说过使用gem'neo4j'使用rails开发neo4j,我想在neo4j数据库中植入一些数据。但每当我尝试做rake db:seed时,它就会说

rake aborted!
Don't know how to build task 'db:seed'
我已经使用rake-T检查了所有的rake任务,没有rake db:seed


有人知道吗?

检查应用程序根目录,有Rakefile吗?
制作一个名为“Rakefile”的文件并输入以下行

“#!/usr/bin/env rake
需要文件。展开路径('../config/application',文件
应用程序名称::Application.load\u任务


Neo4j gem没有seed命令。您尝试使用的命令由ActiveRecord提供。不过,我们很想在中添加此功能,如果您愿意提供帮助,我们很乐意接受PR和/或为该过程做出贡献。现在,在打开一个问题,我们可以将其添加到路线图中。

最终获得了解决方案

lib/tasks下创建一个文件seed.rake,并放置代码

namespace :db do
  desc 'Load the seed data from db/seeds.rb'
  task :seed => :environment do
    seed_file = File.join(Rails.root, 'db', 'seeds.rb')
    load(seed_file) if File.exist?(seed_file)
  end
end

正如前面其他人提到的,
rails db:seed
是由
ActiveRecord
支持的内置功能。假设您在没有
ActiveRecord
的情况下使用neo4jrb,您将无法再使用此命令为数据库设置种子

但是,你可以使用宝石来恢复这个能力

它不依赖于
ActiveRecord
,就像
seed__fu
和其他种子宝石一样。因此,它可以与neo4jrb配合使用

这个过程相当简单

  • 将seedbank放入您的GEM文件并捆绑安装
  • 创建目录
    db/seeds/
  • db/seeds/
    目录下创建种子文件
  • 比如说

    #db/seeds/show.seeds.rb
    
    Show.create(name: "Better Call Saul", producer: "Vince Gilligan")
    
  • 运行rake db:seed:show

  • 谢谢,为信息找到一种方法来做这件事。请检查我的答案。我会叉你的git并尝试贡献。