1. Introduction to Databases
Introduction to working with data through databases
Guides, tutorials and labs to accompany CMU's Programming for Online Prototypes (49-714).
Everything you need to know about building microservices for the web with Ruby and Sinatra.
In your project, you’ll need to create a Rakefile
. As part of the ActiveRecord
gem, it uses rake to make a bunch of helper methods - quick useful commands available from the command line. These commands let us setup, modify and change the database structure easily; and without ever touching the database directly.
Similar to the Gemfile, your Rakefile is saved with that exact name and no file extension. First things first, create a new file called Rakefile
in your project folder. And open it in your text editor.
Our Rakefile for this project needs to include a couple of tasks necessary to prepare our database. We just need to tell rake that we want to use these command line utilities that ActiveRecord offers to us. We require them in our Rakefile
, along with our main app.
Add the following to the Rakefile:
````# require your app file first require ‘./app’ require ‘sinatra/activerecord/rake’
_Sidebar:_ Rake is simply a command line task runner, meaning that it runs small scripts when prompted to do so from the command line.
------
## Try out Rake
Now run
```rake -T````
You should see a list of the commands involved. This is what Rake can help with. These are a bunch of basic commands
rake db:create # Creates the database from DATABASE_URL or config/database.yml for the current RAILS_E… rake db:create_migration # Create a migration (parameters: NAME, VERSION) rake db:drop # Drops the database from DATABASE_URL or config/database.yml for the current RAILS_ENV… rake db:environment:set # Set the environment value for the database rake db:fixtures:load # Loads fixtures into the current environment’s database rake db:migrate # Migrate the database (options: VERSION=x, VERBOSE=false, SCOPE=blog) rake db:migrate:status # Display status of migrations rake db:rollback # Rolls the schema back to the previous version (specify steps w/ STEP=n) rake db:schema:cache:clear # Clears a db/schema_cache.dump file rake db:schema:cache:dump # Creates a db/schema_cache.dump file rake db:schema:dump # Creates a db/schema.rb file that is portable against any DB supported by Active Record rake db:schema:load # Loads a schema.rb file into the database rake db:seed # Loads the seed data from db/seeds.rb rake db:setup # Creates the database, loads the schema, and initializes with the seed data (use db:re… rake db:structure:dump # Dumps the database structure to db/structure.sql rake db:structure:load # Recreates the databases from the structure.sql file rake db:version # Retrieves the current schema version number
But there's only a few that you need to pay real attention to
rake db:create
rake db:create_migration
rake db:seed
rake db:migrate
rake db:rollback
## Create your DB with Rake
Open a command prompt in your project folder and type
rake db:create ````
Et voila your database should now be in your projects db
folder
This series guides you through working with databases, from setting up and installing your database, storing and retrieving data and deploying to heroku
Introduction to working with data through databases
Getting started - installing your database engine
Getting started - adding dependencies to your project
Getting started - adding activerecord rake commands
Migration files are small Ruby scripts that make changes to your database
Schemas define the structure of your database table and allow ActiveRecord to structure requests and changes for data
Use Models to map a database table onto native ruby objects.
Linking Models to Routes. Making a CRUD API
Linking Models to Models - Adding Associations
How to deploy your project to Heroku and add a database
How to check the information you're adding to the database
How to create initial data with a Seed File