README

Path: README
Last Update: Wed Nov 12 17:29:43 -0500 2008

This gem provides Mack integration with the ORM Framework, DataMapper.

For more information on DataMapper please visit:

www.datamapper.org

Notes

The database.yml file for a DataMapper backed application would look something like this:

  # MySQL:
  development:
    default:
      adapter: mysql
      database: my_app_development
      host: localhost
      username: my_db_user
      password: password

  test:
    default:
      adapter: mysql
      database: my_app_test
      host: localhost
      username: my_db_user
      password: password

  production:
    default:
      adapter: mysql
      database: my_app_production
      host: localhost
      username: my_db_user
      password: password

  # PostgreSQL:
  development:
    default:
      adapter: postgres
      database: my_app_development
      host: localhost
      username: my_db_user
      password: password

  test:
    default:
      adapter: postgres
      database: my_app_test
      host: localhost
      username: my_db_user
      password: password

  production:
    default:
      adapter: postgres
      database: my_app_production
      host: localhost
      username: my_db_user
      password: password

  # SQLite3:
  development:
    default:
      adapter: sqlite3
      database: db/my_app_development.db

  test:
    default:
      adapter: sqlite3
      database: db/my_app_test.db

  production:
    default:
      adapter: sqlite3
      database: db/my_app_production.db

Testing

Tests are wrapped in a transaction so that any database activities get rolled back at the end of the test. This works with both RSpec and Test::Unit::TestCase

Rake tasks

  # Drops (if it exists) the database and then creates it for your environment.
  rake db:recreate

  # Creates the database for your environment.
  rake db:create

  # Drops the database for your environment.
  rake db:drop

  # Creates your test and development databases. Does NOT create your production database!
  rake db:create:all

  # Drops your test and development databases. Does NOT create your production database!
  rake db:drop:all

  # Drops and creates your test and development databases. Does NOT create your production database!
  rake db:recreate:all

  # Migrate the database through scripts in db/migrations.
  rake db:migrate

  # Rolls the schema back to the previous version. Specify the number of steps with STEP=n.
  rake db:rollback

  # Raises an error if there are pending migrations.
  rake db:abort_if_pending_migrations

  # Generates a controller, a model, a migration, and tests for the given resource.
  rake generate:scaffold

  # Generates a model, a migration, and a test for the given resource.
  rake generate:model

  # Generates a migration for the given columns
  rake generate:migration

[Validate]