Używam Ruby (1.9.3) i Rails (3.2.2). Mam plik zadań zawierający kilka fałszywych danych do wypełnienia w mojej bazie danych.Nie można przekonwertować zakresu na liczbę całkowitą (Ruby na szynach)
Oto część zadania, które moim zdaniem jest przyczyną problemu
#Create random Tender and populate the db
20.times do |n|
title = "#{Faker::Company.bs()} tender "
company_name = Faker::Company.name
opening_date=Time.at(rand * Time.now.to_i)
closing_date=Time.at(opening_date + (8*7*24*60*60)) #add 8 weeks to the deadline
bid_amount= rand(10000..100000)
description=Faker::Lorem.paragraph(sentence_count = 3)
Tender.create!(title: title,
company_name: company_name,
opening_date: opening_date,
closing_date: closing_date,
bid_amount: bid_amount ,
bid_amount: bid_amount ,
description: description)
end
Współpracuje z dev ale tylko powyżej część nie jest wykonywany na bazie produkcyjnej. Używam gem 'sqlite3', '1.3.5'
na dev. i
gem 'pg', '0.12.2'
na produkcji (Heroku)
Kiedy biegnę
git push heroku
$ heroku pg:reset SHARED_DATABASE --confirm myapp
$ heroku run rake db:migrate
$ heroku run rake db:populate
db:populate throws an error that says **can't covert Range to Integer.**
jakieś pomysły co może być problem?
EDIT: Typ danych BID_AMOUNT jest decimal
Ciekawe, że referencja funkcji rand() nie wspomina o tym, że w ogóle akceptuje zakres. Http://ruby-doc.org/core-1.9.3/Kernel.html#method-i-rand – MBHNYC
If czytasz pierwszy wiersz w tym opisie, mówi "Jeśli max jest zasięgiem, zwraca pseudolosową liczbę gdzie range.member (liczba) == prawda." – Chirantan
To nie mówi (i nie akceptuje słusznie) za 1.8.7 http://ruby-doc.org/core-1.8.7/Kernel.html#method-i-rand – Chirantan