2.8 KiB
id, title, challengeType, dashedName
| id | title | challengeType | dashedName |
|---|---|---|---|
| 6a1d9f98e819ed70a0e994d9 | Challenge 327: Database Migration | 29 | challenge-327 |
--description--
Given two database objects, return the second object with any missing properties from the first filled in.
- Fields that already exist in the record should not be overwritten.
--hints--
migrate_record({ "username": "", "posts": 0 }, { "verified": True }) should return { "username": "", "posts": 0, "verified": True }.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(migrate_record({ "username": "", "posts": 0 }, { "verified": True }), { "username": "", "posts": 0, "verified": True })`)
}})
migrate_record({ "username": "", "posts": 0 }, { "username": "camper", "posts": 5 }) should return { "username": "camper", "posts": 5 }.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(migrate_record({ "username": "", "posts": 0 }, { "username": "camper", "posts": 5 }), { "username": "camper", "posts": 5 })`)
}})
migrate_record({ "username": "", "posts": 0, "verified": False }, { "username": "camper" }) should return { "username": "camper", "posts": 0, "verified": False }.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(migrate_record({ "username": "", "posts": 0, "verified": False }, { "username": "camper" }), { "username": "camper", "posts": 0, "verified": False })`)
}})
migrate_record({ "username": "", "posts": 0 }, { "username": "camper", "role": "admin" }) should return { "username": "camper", "role": "admin", "posts": 0 }.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(migrate_record({ "username": "", "posts": 0 }, { "username": "camper", "role": "admin" }), { "username": "camper", "role": "admin", "posts": 0 })`)
}})
migrate_record({ "username": "", "email": "", "posts": 0, "verified": False, "role": "user", "banned": False }, { "username": "camper", "email": "camper@freecodecamp.org", "role": "admin" }) should return { "username": "camper", "email": "camper@freecodecamp.org", "role": "admin", "posts": 0, "verified": False, "banned": False }.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(migrate_record({ "username": "", "email": "", "posts": 0, "verified": False, "role": "user", "banned": False }, { "username": "camper", "email": "camper@freecodecamp.org", "role": "admin" }), { "username": "camper", "email": "camper@freecodecamp.org", "role": "admin", "posts": 0, "verified": False, "banned": False })`)
}})
--seed--
--seed-contents--
def migrate_record(schema, record):
return schema
--solutions--
def migrate_record(schema, record):
return {**schema, **record}