Creating a DB in the schema import process

I’ve got a bunch of table creations in the schema.rb file and all is
well. However, I have to manually go and create the db first. Is there a
way (something like a create_database method) to get this to work?
(execute “create database …” didn’t seem to cut it either.)


Brad Eck
Sr. Software Engineer
Pelco
3500 Pelco Way
Clovis, CA 93612
Office - 800-289-9100
Email - [email protected] BLOCKED::mailto:[email protected]

Brad Eck wrote:

I’ve got a bunch of table creations in the schema.rb file and all is
well. However, I have to manually go and create the db first. Is there a
way (something like a create_database method) to get this to work?
(execute “create database …” didn’t seem to cut it either.)

$ rake db_schema_import

should create the database accoring to the config/database.yml file.

$rake db_schema_dump will create the db/schema.rb file from your current
database.

Also, look into migrations.


Brad Eck
Sr. Software Engineer
Pelco
3500 Pelco Way
Clovis, CA 93612
Office - 800-289-9100
Email - [email protected] BLOCKED::mailto:[email protected]

Brad Eck wrote:

I’ve got a bunch of table creations in the schema.rb file and all is
well. However, I have to manually go and create the db first. Is there a
way (something like a create_database method) to get this to work?
(execute “create database …” didn’t seem to cut it either.)

Brad,

Which database are you using? Which version of Rails?

I am using Rails 1.0.0 with mySQL 4.1 on Mac OS X.

I created a migration:

script/generate migration CreateDatabase

in my ‘up’ method, I put
create_database :foo

in my ‘down’ method, I put:
drop_database :foo

rake migrate

‘foo’ is there

rake migrate VERSION=0

‘foo’ is not there

Of course, you can’t connect to this database with settings in
database.yml until it is already created. Secondly, I am using the root
user on mysql which has CREATE TABLE permissions.

But if you are wanting to create some other database, it should work
just fine (depending on which db and Rails version you are using).

-damon