Initial commit
This commit is contained in:
commit
0cec39413f
116 changed files with 9683 additions and 0 deletions
12
db/migrate/20210319142051_create_authors.rb
Normal file
12
db/migrate/20210319142051_create_authors.rb
Normal file
|
@ -0,0 +1,12 @@
|
|||
class CreateAuthors < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
create_table :authors do |t|
|
||||
t.string :first_name
|
||||
t.string :last_name
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :authors, [ :first_name, :last_name ]
|
||||
end
|
||||
end
|
13
db/migrate/20210319142054_create_books.rb
Normal file
13
db/migrate/20210319142054_create_books.rb
Normal file
|
@ -0,0 +1,13 @@
|
|||
class CreateBooks < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
create_table :books do |t|
|
||||
t.string :title
|
||||
t.decimal :price, precision: 10, scale: 2
|
||||
t.boolean :published
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :books, :published
|
||||
end
|
||||
end
|
10
db/migrate/20210319142059_create_authors_books.rb
Normal file
10
db/migrate/20210319142059_create_authors_books.rb
Normal file
|
@ -0,0 +1,10 @@
|
|||
class CreateAuthorsBooks < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
create_table :authors_books do |t|
|
||||
t.belongs_to :book
|
||||
t.belongs_to :author
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
41
db/schema.rb
generated
Normal file
41
db/schema.rb
generated
Normal file
|
@ -0,0 +1,41 @@
|
|||
# This file is auto-generated from the current state of the database. Instead
|
||||
# of editing this file, please use the migrations feature of Active Record to
|
||||
# incrementally modify your database, and then regenerate this schema definition.
|
||||
#
|
||||
# This file is the source Rails uses to define your schema when running `bin/rails
|
||||
# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
|
||||
# be faster and is potentially less error prone than running all of your
|
||||
# migrations from scratch. Old migrations may fail to apply correctly if those
|
||||
# migrations use external dependencies or application code.
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2021_03_19_142059) do
|
||||
|
||||
create_table "authors", force: :cascade do |t|
|
||||
t.string "first_name"
|
||||
t.string "last_name"
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.index ["first_name", "last_name"], name: "index_authors_on_first_name_and_last_name"
|
||||
end
|
||||
|
||||
create_table "authors_books", force: :cascade do |t|
|
||||
t.integer "book_id"
|
||||
t.integer "author_id"
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.index ["author_id"], name: "index_authors_books_on_author_id"
|
||||
t.index ["book_id"], name: "index_authors_books_on_book_id"
|
||||
end
|
||||
|
||||
create_table "books", force: :cascade do |t|
|
||||
t.string "title"
|
||||
t.decimal "price", precision: 10, scale: 2
|
||||
t.boolean "published"
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.index ["published"], name: "index_books_on_published"
|
||||
end
|
||||
|
||||
end
|
51
db/seeds.rb
Normal file
51
db/seeds.rb
Normal file
|
@ -0,0 +1,51 @@
|
|||
books = Book.create([
|
||||
{
|
||||
title: 'Journey to the Center of the Earth',
|
||||
price: 10900,
|
||||
published: true
|
||||
},
|
||||
{
|
||||
title: 'From the Earth to the Moon',
|
||||
price: 6300,
|
||||
published: false
|
||||
},
|
||||
{
|
||||
title: 'Imaginary trip',
|
||||
price: 3600,
|
||||
published: true
|
||||
},
|
||||
])
|
||||
|
||||
authors = Author.create([
|
||||
{
|
||||
first_name: 'Jules',
|
||||
last_name: 'Verne'
|
||||
},
|
||||
{
|
||||
first_name: 'Dick',
|
||||
last_name: 'Pick',
|
||||
},
|
||||
{
|
||||
first_name: 'Rick',
|
||||
last_name: 'Pickle'
|
||||
},
|
||||
])
|
||||
|
||||
BookAuthor.create([
|
||||
{
|
||||
book: books.first,
|
||||
author: authors.first
|
||||
},
|
||||
{
|
||||
book: books[1],
|
||||
author: authors.first
|
||||
},
|
||||
{
|
||||
book: books[2],
|
||||
author: authors[1]
|
||||
},
|
||||
{
|
||||
book: books[2],
|
||||
author: authors[2]
|
||||
},
|
||||
])
|
Loading…
Add table
Add a link
Reference in a new issue