DEV Community

Mary Webby
Mary Webby

Posted on

Bulletin Board 1

setting up db with rails console

rails generate draft:resource <MODEL_NAME_SINGULAR> <COLUMN_1_NAME>:<COLUMN_1_DATATYPE> <COLUMN_2_NAME>:<COLUMN_2_DATATYPE> # etc
Enter fullscreen mode Exit fullscreen mode

to generate a complete, database-backed web resource, use the code snippet above. It is actually exactly the same as creating and generating a model and a table, but instead model is replaced with draft:resource. below is an example of using this.

rails generate draft:resource post title:string body:text expires_on:date board_id:integer
Enter fullscreen mode Exit fullscreen mode

or...in our assignment here...

rails generate draft:resource board name:string
Enter fullscreen mode Exit fullscreen mode

this action that we just did has essentially installed all of our standard CRUD action boilerplate for us (navigate to /posts. if you would like to delete the action you just made, you can also rails destroy draft:resource, rake db:rollback, rails destroy draft:resource post or go back to the last git commit. you can then correct your error and then regenerate.

adding and removing columns

  • To modify existing tables, the most common tools we use are add_column and remove_column.

  • generate a new migration (not a whole model like above) at a bash prompt with, for example, use rails g migration AddImageToPosts, or rails g migration RemoveExpiresOnFromPosts

  • then, go into the new migration file and add instructions to make the change you want within the change method (or the up method, if thatโ€™s what you find inside instead of change)

def change
  add_column :posts, :image, :string
end
Enter fullscreen mode Exit fullscreen mode
  • with ultimate last resort, use rake db:drop

other notes

  • rspec rails framework

bundle exec rspecor rspec to run rails debugging with ruby gem inside the GemFile

Top comments (0)