如何使用 Rails seed.rb 播种 sqlite3?

How to seed sqlite3 with Rails seed.rb?

可能与谁有关,

基本 Rails 应用程序。通过 rails g model images url:string

创建了一个名为 "Images" 的模型

将一些 jpg 文件放入 Public 文件夹并设置 seed.rb 文件,如下所示:

    images = Image.create([
        { url: "/public/images/01.jpg"},
        { url: "/public/images/02.jpg"},
        { url: "/public/images/03.jpg"},
        { url: "/public/images/04.jpg"},
        { url: "/public/images/05.jpg"},
        { url: "/public/images/06.jpg"},
        { url: "/public/images/07.jpg"},
        { url: "/public/images/08.jpg"},
        { url: "/public/images/09.jpg"},
        { url: "/public/images/10.jpg"},
        { url: "/public/images/11.jpg"},
        { url: "/public/images/12.jpg"},
        { url: "/public/images/13.jpg"},
        { url: "/public/images/14.jpg"},
        { url: "/public/images/15.jpg"},
        { url: "/public/images/16.jpg"},
        { url: "/public/images/17.jpg"},
        { url: "/public/images/18.jpg"},
        { url: "/public/images/19.jpg"},
        { url: "/public/images/20.jpg"}
    ])

运行 rake db:setuprake db:seedrake db:migrate 尝试为 sqlite3 数据库设置种子。

我进入 db/development.sqlite3 和 运行 .databases 并没有找到任何东西。我 运行 .tables 什么也没找到。

sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main 

为什么这没有为数据库播种?

谢谢!

彼得

此时您似乎遇到了一些问题。

您正在尝试使用以下命令创建模型:

rails g model images url:string

按照惯例,您应该像这样大写和使用模型名称的单数形式:

rails g model Image url:string

您写道,您 "Ran rake db:setup, rake db:seed, and rake db:migrate to try to seed the sqlite3 data base." 在尝试为数据库设置种子之前,您必须 运行 rake db:migrate,否则,您将尝试使用数据为不存在的表设置种子。尝试 rake db:setup db:migrate db:seed 然后看看会发生什么。