4

我已经说过使用 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。

有人有什么主意吗?

4

4 回答 4

2

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

于 2014-12-07T22:23:01.763 回答
1

终于得到了解决方案。

在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
于 2014-12-08T15:59:58.253 回答
0

检查应用程序根目录,是否有 Rakefile?
创建一个名为“Rakefile”的文件并输入这些行

"#!/usr/bin/env rake
需要 File.expand_path('../config/application', FILE )
APP_NAME::Application.load_tasks

于 2014-12-07T21:44:00.440 回答
0

正如其他人之前提到的,rails db:seed它是由ActiveRecord. 假设您使用的是没有 的 neo4jrb ActiveRecord,您将无法再使用此命令来播种数据库。

但是,您可以使用种子库宝石来恢复此能力。

它不依赖于ActiveRecordlikeseed_fu和其他播种宝石。所以它可以很好地与neo4jrb一起工作。

这个过程相当简单。

  1. 将种子库放入您的 Gemfile 并捆绑安装。
  2. 创建目录db/seeds/
  3. db/seeds/在目录下创建种子文件

例如

#db/seeds/show.seeds.rb

Show.create(name: "Better Call Saul", producer: "Vince Gilligan")
  1. 运行 rake db:seed:show
于 2018-09-25T20:52:29.513 回答