tuti plain wrote:> Hi all,
>
> I am new to Rails, and I have a few questions about it. I''ve
done a
> few tutorials, up to generating a scaffold using SQLite and inserting
> some data.
>
> 1. Must I always create my tables using rake db:migrate? Or is it
> possible to create a model using an existing table on an already
> existing database? Can models be made manually?
Models are just ruby classes, so sure you can just make a model.
However, this is not the approach I would take. Personally, I would not
create a new Rails application from an existing database (unless there
was absolutely no other choice).
Chances are that the existing database is not going to be very Rails
friendly. Instead of using the existing database, I would instead use
the migrations and build a new database from scratch. I would then
create scripts to migrate the existing data into the new schema making
any necessary adjustments to the data to fit a more Rails friendly
database schema.
> 2. How can I specify table relationships with the generate script? How
> about more complex thing like CASCADE DELETE?
You don''t do that from generators. Database relations are not really
something that can be predicted correctly by generators. Fortunately,
associations in Rails are pretty straight forward and easy to add to
your model classes.
Rails associations act on the object level. If you want foreign key
constraints at the database level you need to add those to your database
migrations.
> 3. I am trying to generate a scaffold using mysql, but I get the
> folowing error when I run db:migrate:
>
> Mysql::Error: query: not connected: CREATE TABLE `schema_migrations`
> (`version`
> varchar(255) NOT NULL) ENGINE=InnoDB
>
> (See full trace by running task with --trace)
>
> I have installed the mysql gem, and my database is properly configured
> in the config/database.yml file. The catalog specified already exists
> on the MySQL server.
I don''t know what''s wrong here, but my first suggestions would
be to
build a new empty rails application using MySQL:
rails my_proj --database mysql
Make sure you''re database.yml is configured correctly for your MySQL
installation. Then generate a model. Once that''s done run: rake
db:create. If that succeeds then run: rake db:migrate.
If any of that fails try running with the --trace as suggested in the
error you listed. Maybe that will point your in the right direction.
--
Posted via http://www.ruby-forum.com/.
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.