Ruby on Rails

āļāļēāļĢ Migration āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

āļāļēāļĢ migration āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™, reversible migrations, āļāļēāļĢ migration āļ‚āđ‰āļ­āļĄāļđāļĨ, rollbacks, āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ‚āļ­āļ‡ DB āđ€āļ—āļĩāļĒāļšāļāļąāļš validation, safe migrations

20 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Mid-Level
1

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡ method change āļāļąāļš up/down āđƒāļ™ Rails migration āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

method change āđ€āļ›āđ‡āļ™āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāđāļšāļšāļĒāđˆāļ­āļ—āļĩāđˆāđ€āļ›āļīāļ”āļ•āļąāļ§āđƒāļ™ Rails 3.1 āļ‹āļķāđˆāļ‡āļŠāđˆāļ§āļĒāđƒāļŦāđ‰ Rails āļŠāļēāļĄāļēāļĢāļ–āļ­āļ™āļļāļĄāļēāļ™āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļĒāđ‰āļ­āļ™āļāļĨāļąāļšāđ„āļ”āđ‰āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđƒāļŠāđ‰āļ‡āļēāļ™āđ„āļ”āđ‰āļāļąāļšāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļąāđˆāļ§āđ„āļ›āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ āđ€āļŠāđˆāļ™ add_column āļŦāļĢāļ·āļ­ create_table āļŠāđˆāļ§āļ™ method up āđāļĨāļ° down āđƒāļŦāđ‰āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™āđ€āļŦāļ™āļ·āļ­āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāđāļšāļš apply āđāļĨāļ° rollback āļ‹āļķāđˆāļ‡āļˆāļģāđ€āļ›āđ‡āļ™āđ€āļĄāļ·āđˆāļ­ Rails āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļ™āļļāļĄāļēāļ™āļāļēāļĢāļĒāđ‰āļ­āļ™āļāļĨāļąāļšāđ„āļ”āđ‰āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđ€āļŠāđˆāļ™ āđƒāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļĨāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļŦāļĢāļ·āļ­āļāļēāļĢāđāļ›āļĨāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™

2

āļˆāļ°āļ—āļģāđƒāļŦāđ‰ migration āđ€āļ›āđ‡āļ™āđāļšāļš reversible āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢāđ€āļĄāļ·āđˆāļ­ Rails āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļ­āļ™āļļāļĄāļēāļ™āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļĒāđ‰āļ­āļ™āļāļĨāļąāļšāđ„āļ”āđ‰āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī?

āļ„āļģāļ•āļ­āļš

block reversible āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ up āđāļĨāļ° down āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļŠāļąāļ”āđ€āļˆāļ™āļ āļēāļĒāđƒāļ™ method change āļ‹āļķāđˆāļ‡āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ­āļĒāđˆāļēāļ‡ remove_column āļ—āļĩāđˆ Rails āļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ—āļĢāļēāļšāļŠāļ™āļīāļ”āđāļĨāļ°āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ‚āļ­āļ‡āļ„āļ­āļĨāļąāļĄāļ™āđŒāđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļĄāļąāļ™āļ‚āļķāđ‰āļ™āļĄāļēāđƒāļŦāļĄāđˆāđƒāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡ rollback block reversible āļĄāļ­āļšāļ„āļ§āļēāļĄāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™āļ‚āļ­āļ‡ up/down āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāļĒāļąāļ‡āļ„āļ‡āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆāļ‚āļ­āļ‡ change āđ„āļ§āđ‰

3

āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ”āļ—āļĩāđˆāļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰ rollback āļŦāļĨāļēāļĒ migration āđƒāļ™āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāđ€āļ”āļĩāļĒāļ§?

āļ„āļģāļ•āļ­āļš

āļ„āļģāļŠāļąāđˆāļ‡ rails db:rollback STEP=n āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰ rollback migration āļ—āļĩāđˆāļ–āļđāļāļĢāļąāļ™āļĨāđˆāļēāļŠāļļāļ” n āļĢāļēāļĒāļāļēāļĢ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ STEP=3 āļˆāļ° rollback migration āļŠāļēāļĄāļĢāļēāļĒāļāļēāļĢāļĨāđˆāļēāļŠāļļāļ”āđƒāļ™āļĨāļģāļ”āļąāļšāļĒāđ‰āļ­āļ™āļāļĨāļąāļšāļˆāļēāļāļāļēāļĢāļĢāļąāļ™āļ‚āļ­āļ‡āļĄāļąāļ™ āļŦāļēāļāđ„āļĄāđˆāļĄāļĩāļ•āļąāļ§āđ€āļĨāļ·āļ­āļ STEP āļˆāļ°āļĄāļĩāđ€āļžāļĩāļĒāļ‡ migration āļŠāļļāļ”āļ—āđ‰āļēāļĒāđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™āļ—āļĩāđˆāļ–āļđāļ rollback āļ„āļģāļŠāļąāđˆāļ‡āļ™āļĩāđ‰āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļāļĨāļąāļšāđ„āļ›āļĒāļąāļ‡āļŠāļ–āļēāļ™āļ°āļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ‚āļ­āļ‡āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§āđƒāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļžāļąāļ’āļ™āļē

4

āđ€āļŦāļ•āļļāđƒāļ”āļˆāļķāļ‡āļ„āļ§āļĢāļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡āļāļēāļĢāđƒāļŠāđ‰āļāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āđ„āļ›āļĒāļąāļ‡ model ActiveRecord āđƒāļ™āļāļēāļĢ migration āļ‚āđ‰āļ­āļĄāļđāļĨ?

5

āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āđƒāļ™āļāļēāļĢāļ—āļģ data migration āļšāļ™ production āļŠāļģāļŦāļĢāļąāļšāļ•āļēāļĢāļēāļ‡āļ‚āļ™āļēāļ”āđƒāļŦāļāđˆāļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

+17 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Ruby on Rails āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ Ruby

Junior
25 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđ€āļŠāļīāļ‡āļ§āļąāļ•āļ–āļļāđƒāļ™ Ruby

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Rails

Junior
18 āļ„āļģāļ–āļēāļĄ

Routing & Controllers

Junior
22 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ ActiveRecord

Junior
25 āļ„āļģāļ–āļēāļĄ

Views āđāļĨāļ° ERB Templates

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāđ‚āļĒāļ‡āļ‚āļ­āļ‡ ActiveRecord

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļŠāļ­āļšāļ–āļēāļĄ ActiveRecord āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Mid-Level
28 āļ„āļģāļ–āļēāļĄ

āļŸāļ­āļĢāđŒāļĄ Rails

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ•āļąāļ§āļ•āļ™āđāļĨāļ°āļāļēāļĢāļ­āļ™āļļāļāļēāļ•

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Asset Pipeline āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆāđāļĨāļ° frontend

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āđ‚āļŦāļĄāļ” API āļ‚āļ­āļ‡ Rails

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ”āđ‰āļ§āļĒ RSpec

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

ActiveJob & Background Jobs

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

ActionCable & WebSockets

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

ActionMailer

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

ActiveStorage

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļĨāļĒāļļāļ—āļ˜āđŒāļāļēāļĢ Caching

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Rails Engines āđāļĨāļ°āđāļ­āļ›āđāļšāļšāđ‚āļĄāļ”āļđāļĨāļēāļĢāđŒ

Senior
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāļ—āļģāļ‡āļēāļ™

Senior
26 āļ„āļģāļ–āļēāļĄ

Design Patterns āđƒāļ™ Rails

Senior
22 āļ„āļģāļ–āļēāļĄ

āđ€āļĄāļ•āļēāđ‚āļ›āļĢāđāļāļĢāļĄāļĄāļīāļ‡āđƒāļ™ Ruby

Senior
20 āļ„āļģāļ–āļēāļĄ

āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡ Rails

Senior
22 āļ„āļģāļ–āļēāļĄ

GraphQL āļāļąāļš Rails

Senior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ”āļĩāļžāļĨāļ­āļĒāđāļĨāļ°āđ‚āļ›āļĢāļ”āļąāļāļŠāļąāļ™

Senior
20 āļ„āļģāļ–āļēāļĄ

Monitoring & Logging

Senior
20 āļ„āļģāļ–āļēāļĄ

āļāļĨāļĒāļļāļ—āļ˜āđŒāļāļēāļĢāļ­āļąāļ›āđ€āļāļĢāļ” Rails

Senior
18 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Ruby on Rails āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ