Skip to content

Latest commit

 

History

History
174 lines (148 loc) · 7.21 KB

File metadata and controls

174 lines (148 loc) · 7.21 KB

rails generate model Owner name:string adress:string credit_card:integer

rails generate model Card number:string experiation_date:string owner:string owner_id:integer

//Owner creation

Owner.create name:'Peter Griffin', address:'31 Spooner Street', credit_card

:1 TRANSACTION (0.3ms) BEGIN Owner Create (1.9ms) INSERT INTO "owners" ("name", "address", "credit_card", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["name", "Peter Griffin"], ["address", "31 Spooner Street"], ["credit_card", 1], ["created_at", "2022-09-01 18:16:38.269180"], ["updated_at", "2022-09-01 18:16:38.269180"]] TRANSACTION (0.9ms) COMMIT => #<Owner:0x00007fa1ab114d98 id: 1, name: "Peter Griffin", address: "31 Spooner Street", credit_card: 1, created_at: Thu, 01 Sep 2022 18:16:38.269180000 UTC +00:00, updated_at: Thu, 01 Sep 2022 18:16:38.269180000 UTC +00:00>

Owner.create name:'Brian Griffin', address:'31 Spooner Street', credit_card

:1 TRANSACTION (23.8ms) BEGIN Owner Create (0.8ms) INSERT INTO "owners" ("name", "address", "credit_card", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["name", "Brian Griffin"], ["address", "31 Spooner Street"], ["credit_card", 1], ["created_at", "2022-09-01 18:17:09.032732"], ["updated_at", "2022-09-01 18:17:09.032732"]]
TRANSACTION (1.4ms) COMMIT
=>
#<Owner:0x00007fa1a5745fb0
id: 2,
name: "Brian Griffin",
address: "31 Spooner Street",
credit_card: 1,
created_at: Thu, 01 Sep 2022 18:17:09.032732000 UTC +00:00,
updated_at: Thu, 01 Sep 2022 18:17:09.032732000 UTC +00:00>

Owner.create name:'Stewie Griffin', address:'31 Spooner Street', credit_car

d:1 TRANSACTION (12.4ms) BEGIN Owner Create (0.6ms) INSERT INTO "owners" ("name", "address", "credit_card", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["name", "Stewie Griffin"], ["address", "31 Spooner Street"], ["credit_card", 1], ["created_at", "2022-09-01 18:17:20.643536"], ["updated_at", "2022-09-01 18:17:20.643536"]] TRANSACTION (1.3ms) COMMIT => #<Owner:0x00007fa1ab84f568 id: 3, name: "Stewie Griffin", address: "31 Spooner Street", credit_card: 1, created_at: Thu, 01 Sep 2022 18:17:20.643536000 UTC +00:00, updated_at: Thu, 01 Sep 2022 18:17:20.643536000 UTC +00:00> 3.0.0 :004 >

//Column create for all cards Card.create number:'1355123234312346', experiation_date:'2024-05-08', owner:'Peter Griffin', owner_id:1 Card.create number:'0601234576431829', experiation_date:'2024-02-18', owner:'Brian Griffin', owner_id:2 Card.create number:'8960211234321346', experiation_date:'2022-12-03', owner:'Stewie Griffin', owner_id:3

Card.create number:'1294096346924684', experiation_date:'2025-12-03', owner:'Stewie Griffin', owner_id:3 Card.create number:'1294096346924684', experiation_date:'2044-04-23', owner:'Stewie Griffin', owner_id:3

// All of the owners, using Owner.all

[#<Owner:0x00007fc74964a970
id: 1,
name: "Peter Griffin",
address: "31 Spooner Street",
credit_card: 1,
created_at: Thu, 01 Sep 2022 18:16:38.269180000 UTC +00:00, updated_at: Thu, 01 Sep 2022 22:08:07.621641000 UTC +00:00, extended_credit: 5>,
#<Owner:0x00007fc74964a8a8
id: 3,
name: "Stewie Griffin",
address: "31 Spooner Street",
credit_card: 3,
created_at: Thu, 01 Sep 2022 18:17:20.643536000 UTC +00:00, updated_at: Thu, 01 Sep 2022 22:26:59.509545000 UTC +00:00, extended_credit: 140000>, #<Owner:0x00007fc74964a7e0 id: 2, name: "Brian Griffin", address: "31 Spooner Street", credit_card: 1, created_at: Thu, 01 Sep 2022 18:17:09.032732000 UTC +00:00, updated_at: Thu, 01 Sep 2022 22:30:32.452040000 UTC +00:00, extended_credit: 150>] 3.0.0 :027 >

// All of the cards, using Card.all

3.0.0 :025 > Card.all Card Load (22.9ms) SELECT "cards".* FROM "cards" =>
[#<Card:0x00007fc74f836008
id: 5,
number: "1294096346924684",
experiation_date: "2044-04-23",
owner: "Stewie Griffin",
owner_id: 3,
created_at: Thu, 01 Sep 2022 21:39:11.993349000 UTC +00:00, updated_at: Thu, 01 Sep 2022 22:01:17.957578000 UTC +00:00, credit_limit: 60000>,
#<Card:0x00007fc74f835f40
id: 4,
number: "1294096346924684",
experiation_date: "2025-12-03",
owner: "Stewie Griffin", owner_id: 3, created_at: Thu, 01 Sep 2022 21:38:41.982567000 UTC +00:00, updated_at: Thu, 01 Sep 2022 22:01:34.083834000 UTC +00:00, credit_limit: 30000>, #<Card:0x00007fc74f835e78 id: 3, number: "8960211234321346", experiation_date: "2022-12-03", owner: "Stewie Griffin", owner_id: 3, created_at: Thu, 01 Sep 2022 18:54:59.181198000 UTC +00:00, updated_at: Thu, 01 Sep 2022 22:01:38.861599000 UTC +00:00, credit_limit: 50000>, #<Card:0x00007fc74f835db0 id: 1, number: "1355123234312346", experiation_date: "2024-05-08", owner: "Peter Griffin", owner_id: 1, created_at: Thu, 01 Sep 2022 18:54:45.045642000 UTC +00:00, updated_at: Thu, 01 Sep 2022 22:02:17.454424000 UTC +00:00, credit_limit: 5>, #<Card:0x00007fc74f835ce8 id: 2, number: "0601234576431829", experiation_date: "2024-02-18", owner: "Brian Griffin", owner_id: 2, created_at: Thu, 01 Sep 2022 18:54:53.030019000 UTC +00:00, updated_at: Thu, 01 Sep 2022 22:03:02.250105000 UTC +00:00, credit_limit: 150>] 3.0.0 :026 > Owner.all

// To create a card limit for the Owner table.

rails g migration add_column

class AddColumn < ActiveRecord::Migration[7.0] def change add_column :cards, :credit_limit, :integer end end

rails db:migrate

peter = Card.find 1 peter.credit_limit = 5 peter.save

// to finish stretch goal for extended credit

rails g migration add_extended_credit

class AddExtendedCredit < ActiveRecord::Migration[7.0] def change add_column :owners, :extended_credit, :integer end end

rails db:migrate

stew = Owner.find 3 stewie_credit = Card.where owner_id:3 stewie_credit_limit = stewie_credit.sum(:credit_limit) stew.extended_credit = stewie_credit_limit