rake fails with syntax error

I'm trying to import csv data as per

http://www.jobwd.com/article/show/5

but can't quite get the syntax:

thufir@arrakis ~/goodfellow-tool/db $ thufir@arrakis ~/goodfellow-tool/db $ rake (in /home/thufir/goodfellow-tool/db) rake aborted! /home/thufir/goodfellow-tool/db/rakefile:12: syntax error, unexpected tSYMBEG, expecting ')'                         :name => name                          ^ /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1940:in `raw_load_rakefile' (See full trace by running task with --trace) thufir@arrakis ~/goodfellow-tool/db $ thufir@arrakis ~/goodfellow-tool/db $ cat rakefile desc "load int data into development.sqlite3"

task :load_data => ["/home/thufir/goodfellow-tool/db/ data.csv", :environment] do |t|

        File.read(t.prerequisites.first).each do | line |

                id,name=line.split(/,/)

                Call.create(                         :id => id                         :name => name                 )         end end thufir@arrakis ~/goodfellow-tool/db $ thufir@arrakis ~/goodfellow-tool/db $ sqlite3 development.sqlite3 SQLite version 3.4.1 Enter ".help" for instructions

.schema

CREATE TABLE calls ("id" INTEGER PRIMARY KEY NOT NULL, "name" varchar (255) DEFAULT NULL); CREATE TABLE schema_info (version integer);

SELECT * FROM calls;

1|zero

.quit

thufir@arrakis ~/goodfellow-tool/db $ thufir@arrakis ~/goodfellow-tool/db $ cat data.csv 2,"two" 3,"three" 4,"four" thufir@arrakis ~/goodfellow-tool/db $

thanks,

Thufir

`raw_load_rakefile' (See full trace by running task with --trace) thufir@arrakis ~/goodfellow-tool/db $ thufir@arrakis ~/goodfellow-tool/db $ cat rakefile desc "load int data into development.sqlite3"

task :load_data => ["/home/thufir/goodfellow-tool/db/ data.csv", :environment] do |t|

       File.read(t.prerequisites.first).each do | line |

               id,name=line.split(/,/)

               Call.create(                        :id => id

You need a comma after that last "id".

:id => id,

Thanks, that was an amazingly quick reply :slight_smile:

It's still failing:

thufir@arrakis ~/goodfellow-tool/db $ thufir@arrakis ~/goodfellow-tool/db $ rake (in /home/thufir/goodfellow-tool/db) rake aborted! Don't know how to build task 'default'

(See full trace by running task with --trace) thufir@arrakis ~/goodfellow-tool/db $

There's no "default" task in the rakefile, though.

-Thufir

You need a comma after that last "id".

Thanks, that was an amazingly quick reply :slight_smile:

It's still failing:

thufir@arrakis ~/goodfellow-tool/db $ thufir@arrakis ~/goodfellow-tool/db $ rake (in /home/thufir/goodfellow-tool/db) rake aborted! Don't know how to build task 'default'

(See full trace by running task with --trace) thufir@arrakis ~/goodfellow-tool/db $

There's no "default" task in the rakefile, though.

rake load_data

Or whatever your task name is...

Oh yeah, forgot. I was reading the directions, which include:

"But it's important to include :environment in the task line - that tells Rails how to connect to the right database. " http://www.jobwd.com/article/show/5

My rake command is failing with:

thufir@arrakis ~/goodfellow-tool/db $ rake load_data (in /home/thufir/goodfellow-tool/db) rake aborted! Don't know how to build task 'environment'

(See full trace by running task with --trace) thufir@arrakis ~/goodfellow-tool/db $

So I'm a bit stymied. I mean, presumably the rake file pulls data from database.yml and so forth... :frowning:

Thank you for all your help, I'm much closer to tangible results.

-Thufir