2015-09-26 83 views
0

我試圖用以下命令爲Ruby SQLite3數據庫創建種子。在Ruby遷移中找不到表

SubmissionPool.create(
[ { submission_pool_id: "5769bdf9-ac24-4b4c-bc35-6062de526285", submission_pool_description: "images", created_at: Time.new , updated_at: Time.new } 
]) 

Submission.create(
[ { submission_ID: "ff336040-d5e7-4c80-a0b8-53d2204bd027", submission_title: "TestSubmission", submission_description: "TestSubmission", 
    submission_file: "http://www.joomlaworks.net/images/demos/galleries/abstract/7.jpg", created_by: "00000000-0000-0000-0000-000000000000", created_at: Time.new , updated_at: Time.new } 
]) 

它一直給我錯誤表提交沒有找到。到目前爲止,我一直在使用rails generate model命令創建模型,它已經全部解決了。

我試圖

  • 刪除表並重新創建它。
  • 刪除整個數據庫並重新遷移它。
  • 嘗試了各種不同的瓶蓋字母(我知道很蠢,但嘿)

現在我讀的地方,SQLite的3不與表名複數好。你們中的任何一個人能否給我一個正確的方向指針?我將在下面附上我的遷移代碼和模型代碼。

submission.rb

class Submission < ActiveRecord::Base 
end 

遷移

class CreateSubmissions < ActiveRecord::Migration 
    def change 
    create_table :submission, :id => false do |t| 
     t.uuid :submission_ID, :primary_key => true, null: false 
     t.string :submission_title, null: false 
     t.text :submission_description, null: false 
     t.string :submission_file, null: false 
     t.datetime :created_on, null: false 
     t.uuid :created_by, null: false 

     t.timestamps null: false 
    end 
    end 
end 
+0

,請問您對DB/schema.rb說?它是否包含提交內容? – trh

+0

是的,它包括在內 –

回答

0

在這裏,你創建表submission

create_table :submission, :id => false do |t| 
    ... 
end 

你的錯誤是由這個名字引起的。 Rails預計Submission模型的表格爲submissions

您仍然可以使用這個名稱,但應明確Submission模型聲明:

class Submission < ActiveRecord::Base 
    self.table_name :submission 
end 
+0

修好了! –

相關問題