Hi Suraj,

> > You think MySQL 5.0 server version is not good for multi-user
> > applications?
>
> It is fine. However, my software engr. professor said PostgreSQL is
> better because MySQL doesn't handle concurrency issues very well.

Great to know.  I'll check that out before I go to production.

> ... Thus, I would just use "localhost" because it is more human
> readable.

Cool!

> > Right now,  I have MySQL 5.0 running on my development machine, and it
> > stores the data the data sub-directory of its installation directory.
> > I imagine it's easy to configure it to store data wherever I wish to
> > target it.
>
> Yes, that is fine.

Cool.

> > I'm confused about one thing here.  Since the databases and development
> > environment are on one machine, shouldn't I:
> > - run "rake migrate" only on this machine
> > - update the Rails app to relating to the changes in the database
> > - update my test suite to test those changes (or write the tests first
> > to satisfy some purists)
> > - run my entire test suite until all tests pass
> > - submit my Rails app to the version control system
> > - broadcast a message to all users that the should update their version
> > of app by getting the latest and greatest version?
>
> Yes, that is correct.

Excellent!

> However, this brings up another issue. Since each user's local copy of
> your Rails app has write access to your central DB, you could lose all
> your data on the central DB if a user runs
>
>   rake migrate VERSION=0
>
> It's kinda silly, but possible.

IMHO, not silly at all.  It says to me that when I port the application
to client machines, I should arrange that Rake can only be run under an
Administrator account.  Also,  I should make sure that any dangerous
commands to the DBMS can only be run under the root ID.  That should at
least plug up some of the security holes.

Thank you very much for all your observations and comments.  I feel a
lot more confident that my development effort will be well received.

Best wishes,
Richard