[{"data":1,"prerenderedAt":1371},["ShallowReactive",2],{"doc-features\u002Fmigrations":3,"content-query-veSl5RhJJf":4},null,{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"body":11,"_type":1365,"_id":1366,"_source":1367,"_file":1368,"_stem":1369,"_extension":1370},"\u002Fdocs\u002Ffeatures\u002Fmigrations","features",false,"","Migrations","Import and migrate data between systems",{"type":12,"children":13,"toc":1309},"root",[14,22,39,45,52,57,87,93,100,105,160,166,237,243,249,254,264,269,275,280,288,294,299,307,313,319,324,332,338,343,351,356,364,370,375,484,490,496,501,529,535,580,588,594,599,627,633,638,646,651,684,690,696,701,709,715,720,728,734,739,747,753,759,764,833,839,847,853,858,876,881,887,893,898,906,912,917,949,955,960,968,974,980,1003,1009,1032,1038,1061,1067,1090,1096,1102,1110,1116,1124,1130,1138,1144,1150,1173,1179,1202,1208,1231,1237,1260,1266,1303],{"type":15,"tag":16,"props":17,"children":19},"element","h1",{"id":18},"migrations",[20],{"type":21,"value":9},"text",{"type":15,"tag":23,"props":24,"children":29},"div",{"className":25,"ariaHidden":28},[26,27],"docs-page-hero","docs-page-hero--sage","true",[30,32],{"type":21,"value":31},"\n  ",{"type":15,"tag":33,"props":34,"children":38},"img",{"src":35,"alt":8,"width":36,"height":37},"\u002Fimages\u002Fdocs-illustrations\u002Fmigrations.svg",128,72,[],{"type":15,"tag":40,"props":41,"children":42},"p",{},[43],{"type":21,"value":44},"Migrate data from your existing systems into CredVault safely and reliably.",{"type":15,"tag":46,"props":47,"children":49},"h2",{"id":48},"what-are-migrations",[50],{"type":21,"value":51},"What are Migrations?",{"type":15,"tag":40,"props":53,"children":54},{},[55],{"type":21,"value":56},"Migrations let you:",{"type":15,"tag":58,"props":59,"children":60},"ul",{},[61,67,72,77,82],{"type":15,"tag":62,"props":63,"children":64},"li",{},[65],{"type":21,"value":66},"Import data from other databases",{"type":15,"tag":62,"props":68,"children":69},{},[70],{"type":21,"value":71},"Transfer between CredVault instances",{"type":15,"tag":62,"props":73,"children":74},{},[75],{"type":21,"value":76},"One-time or continuous sync",{"type":15,"tag":62,"props":78,"children":79},{},[80],{"type":21,"value":81},"Test before production",{"type":15,"tag":62,"props":83,"children":84},{},[85],{"type":21,"value":86},"Rollback if needed",{"type":15,"tag":46,"props":88,"children":90},{"id":89},"getting-started",[91],{"type":21,"value":92},"Getting Started",{"type":15,"tag":94,"props":95,"children":97},"h3",{"id":96},"plan-your-migration",[98],{"type":21,"value":99},"Plan Your Migration",{"type":15,"tag":40,"props":101,"children":102},{},[103],{"type":21,"value":104},"Before starting:",{"type":15,"tag":106,"props":107,"children":108},"ol",{},[109,120,130,140,150],{"type":15,"tag":62,"props":110,"children":111},{},[112,118],{"type":15,"tag":113,"props":114,"children":115},"strong",{},[116],{"type":21,"value":117},"Identify source",{"type":21,"value":119}," - Where is your data now?",{"type":15,"tag":62,"props":121,"children":122},{},[123,128],{"type":15,"tag":113,"props":124,"children":125},{},[126],{"type":21,"value":127},"Choose destination",{"type":21,"value":129}," - Which CredVault database?",{"type":15,"tag":62,"props":131,"children":132},{},[133,138],{"type":15,"tag":113,"props":134,"children":135},{},[136],{"type":21,"value":137},"List data sources",{"type":21,"value":139}," - All tables\u002Fcollections to migrate",{"type":15,"tag":62,"props":141,"children":142},{},[143,148],{"type":15,"tag":113,"props":144,"children":145},{},[146],{"type":21,"value":147},"Plan schedule",{"type":21,"value":149}," - When to run?",{"type":15,"tag":62,"props":151,"children":152},{},[153,158],{"type":15,"tag":113,"props":154,"children":155},{},[156],{"type":21,"value":157},"Test first",{"type":21,"value":159}," - Use non-production environment",{"type":15,"tag":94,"props":161,"children":163},{"id":162},"create-migration",[164],{"type":21,"value":165},"Create Migration",{"type":15,"tag":106,"props":167,"children":168},{},[169,180,189,194,232],{"type":15,"tag":62,"props":170,"children":171},{},[172,174,178],{"type":21,"value":173},"Click ",{"type":15,"tag":113,"props":175,"children":176},{},[177],{"type":21,"value":9},{"type":21,"value":179}," in sidebar",{"type":15,"tag":62,"props":181,"children":182},{},[183,184],{"type":21,"value":173},{"type":15,"tag":113,"props":185,"children":186},{},[187],{"type":21,"value":188},"New Migration",{"type":15,"tag":62,"props":190,"children":191},{},[192],{"type":21,"value":193},"Name it: \"Postgres to CredVault Migration\"",{"type":15,"tag":62,"props":195,"children":196},{},[197,199],{"type":21,"value":198},"Choose type:\n",{"type":15,"tag":58,"props":200,"children":201},{},[202,212,222],{"type":15,"tag":62,"props":203,"children":204},{},[205,210],{"type":15,"tag":113,"props":206,"children":207},{},[208],{"type":21,"value":209},"One-time",{"type":21,"value":211}," - Copy data once",{"type":15,"tag":62,"props":213,"children":214},{},[215,220],{"type":15,"tag":113,"props":216,"children":217},{},[218],{"type":21,"value":219},"Continuous",{"type":21,"value":221}," - Keep syncing",{"type":15,"tag":62,"props":223,"children":224},{},[225,230],{"type":15,"tag":113,"props":226,"children":227},{},[228],{"type":21,"value":229},"Scheduled",{"type":21,"value":231}," - Run on schedule",{"type":15,"tag":62,"props":233,"children":234},{},[235],{"type":21,"value":236},"Next: Configure source",{"type":15,"tag":46,"props":238,"children":240},{"id":239},"configuring-source",[241],{"type":21,"value":242},"Configuring Source",{"type":15,"tag":94,"props":244,"children":246},{"id":245},"connection-details",[247],{"type":21,"value":248},"Connection Details",{"type":15,"tag":40,"props":250,"children":251},{},[252],{"type":21,"value":253},"Provide source database info:",{"type":15,"tag":255,"props":256,"children":258},"pre",{"code":257},"Connection Type: PostgreSQL\nHost: source-db.example.com\nPort: 5432\nDatabase: old_database\nUsername: migration_user\nPassword: [secure password]\n",[259],{"type":15,"tag":260,"props":261,"children":262},"code",{"__ignoreMap":8},[263],{"type":21,"value":257},{"type":15,"tag":40,"props":265,"children":266},{},[267],{"type":21,"value":268},"Test connection before proceeding.",{"type":15,"tag":94,"props":270,"children":272},{"id":271},"select-tables",[273],{"type":21,"value":274},"Select Tables",{"type":15,"tag":40,"props":276,"children":277},{},[278],{"type":21,"value":279},"Choose which tables to migrate:",{"type":15,"tag":255,"props":281,"children":283},{"code":282},"☑ customers (1.2M rows)\n☑ orders (5.3M rows)\n☑ products (25K rows)\n☐ internal_logs (skip)\n☐ archive_data_2020 (skip)\n",[284],{"type":15,"tag":260,"props":285,"children":286},{"__ignoreMap":8},[287],{"type":21,"value":282},{"type":15,"tag":94,"props":289,"children":291},{"id":290},"preview-data",[292],{"type":21,"value":293},"Preview Data",{"type":15,"tag":40,"props":295,"children":296},{},[297],{"type":21,"value":298},"See sample of what will be migrated:",{"type":15,"tag":255,"props":300,"children":302},{"code":301},"customers table:\ncustomer_id | name            | email\n------------|-----------------|-------------------\n1           | Alice Smith     | alice@example.com\n2           | Bob Johnson     | bob@example.com\n3           | Carol White     | carol@example.com\n... (showing 3 of 1,234,567 rows)\n",[303],{"type":15,"tag":260,"props":304,"children":305},{"__ignoreMap":8},[306],{"type":21,"value":301},{"type":15,"tag":46,"props":308,"children":310},{"id":309},"data-mapping",[311],{"type":21,"value":312},"Data Mapping",{"type":15,"tag":94,"props":314,"children":316},{"id":315},"column-mapping",[317],{"type":21,"value":318},"Column Mapping",{"type":15,"tag":40,"props":320,"children":321},{},[322],{"type":21,"value":323},"Tell CredVault how columns map:",{"type":15,"tag":255,"props":325,"children":327},{"code":326},"Source Column → Destination Field\ncustomer_id → id (rename)\nemail → user_email (rename)\ncreated_date → created_at (rename)\n[skip] → internal_tag (skip column)\n",[328],{"type":15,"tag":260,"props":329,"children":330},{"__ignoreMap":8},[331],{"type":21,"value":326},{"type":15,"tag":94,"props":333,"children":335},{"id":334},"type-conversion",[336],{"type":21,"value":337},"Type Conversion",{"type":15,"tag":40,"props":339,"children":340},{},[341],{"type":21,"value":342},"Automatic conversion:",{"type":15,"tag":255,"props":344,"children":346},{"code":345},"Source Type → Target Type\nVARCHAR → String\nINTEGER → Integer\nDECIMAL → Float\nTIMESTAMP → Datetime\nBOOLEAN → Boolean\n",[347],{"type":15,"tag":260,"props":348,"children":349},{"__ignoreMap":8},[350],{"type":21,"value":345},{"type":15,"tag":40,"props":352,"children":353},{},[354],{"type":21,"value":355},"Override if needed:",{"type":15,"tag":255,"props":357,"children":359},{"code":358},"Source: customer_tier (string: \"gold\", \"silver\")\nTarget: tier_code (integer: 1, 2)\nConversion: Create mapping \"gold\"→1, \"silver\"→2\n",[360],{"type":15,"tag":260,"props":361,"children":362},{"__ignoreMap":8},[363],{"type":21,"value":358},{"type":15,"tag":94,"props":365,"children":367},{"id":366},"data-transformation",[368],{"type":21,"value":369},"Data Transformation",{"type":15,"tag":40,"props":371,"children":372},{},[373],{"type":21,"value":374},"Transform data during migration:",{"type":15,"tag":255,"props":376,"children":380},{"code":377,"language":378,"meta":8,"className":379,"style":8},"# Uppercase all email addresses\nemail = email.upper()\n\n# Convert date format\ncreated_at = parse_date(created_at, format='MM\u002FDD\u002FYYYY')\n\n# Trim whitespace\nname = name.strip()\n\n# Calculate new field\nfull_age = current_year - birth_year\n","python","language-python shiki shiki-themes github-dark",[381],{"type":15,"tag":260,"props":382,"children":383},{"__ignoreMap":8},[384,395,404,414,423,432,440,449,458,466,475],{"type":15,"tag":385,"props":386,"children":389},"span",{"class":387,"line":388},"line",1,[390],{"type":15,"tag":385,"props":391,"children":392},{},[393],{"type":21,"value":394},"# Uppercase all email addresses\n",{"type":15,"tag":385,"props":396,"children":398},{"class":387,"line":397},2,[399],{"type":15,"tag":385,"props":400,"children":401},{},[402],{"type":21,"value":403},"email = email.upper()\n",{"type":15,"tag":385,"props":405,"children":407},{"class":387,"line":406},3,[408],{"type":15,"tag":385,"props":409,"children":411},{"emptyLinePlaceholder":410},true,[412],{"type":21,"value":413},"\n",{"type":15,"tag":385,"props":415,"children":417},{"class":387,"line":416},4,[418],{"type":15,"tag":385,"props":419,"children":420},{},[421],{"type":21,"value":422},"# Convert date format\n",{"type":15,"tag":385,"props":424,"children":426},{"class":387,"line":425},5,[427],{"type":15,"tag":385,"props":428,"children":429},{},[430],{"type":21,"value":431},"created_at = parse_date(created_at, format='MM\u002FDD\u002FYYYY')\n",{"type":15,"tag":385,"props":433,"children":435},{"class":387,"line":434},6,[436],{"type":15,"tag":385,"props":437,"children":438},{"emptyLinePlaceholder":410},[439],{"type":21,"value":413},{"type":15,"tag":385,"props":441,"children":443},{"class":387,"line":442},7,[444],{"type":15,"tag":385,"props":445,"children":446},{},[447],{"type":21,"value":448},"# Trim whitespace\n",{"type":15,"tag":385,"props":450,"children":452},{"class":387,"line":451},8,[453],{"type":15,"tag":385,"props":454,"children":455},{},[456],{"type":21,"value":457},"name = name.strip()\n",{"type":15,"tag":385,"props":459,"children":461},{"class":387,"line":460},9,[462],{"type":15,"tag":385,"props":463,"children":464},{"emptyLinePlaceholder":410},[465],{"type":21,"value":413},{"type":15,"tag":385,"props":467,"children":469},{"class":387,"line":468},10,[470],{"type":15,"tag":385,"props":471,"children":472},{},[473],{"type":21,"value":474},"# Calculate new field\n",{"type":15,"tag":385,"props":476,"children":478},{"class":387,"line":477},11,[479],{"type":15,"tag":385,"props":480,"children":481},{},[482],{"type":21,"value":483},"full_age = current_year - birth_year\n",{"type":15,"tag":46,"props":485,"children":487},{"id":486},"migration-process",[488],{"type":21,"value":489},"Migration Process",{"type":15,"tag":94,"props":491,"children":493},{"id":492},"pre-migration-checks",[494],{"type":21,"value":495},"Pre-Migration Checks",{"type":15,"tag":40,"props":497,"children":498},{},[499],{"type":21,"value":500},"System verifies:",{"type":15,"tag":58,"props":502,"children":503},{},[504,509,514,519,524],{"type":15,"tag":62,"props":505,"children":506},{},[507],{"type":21,"value":508},"✓ Source is accessible",{"type":15,"tag":62,"props":510,"children":511},{},[512],{"type":21,"value":513},"✓ Destination has space",{"type":15,"tag":62,"props":515,"children":516},{},[517],{"type":21,"value":518},"✓ Column mappings valid",{"type":15,"tag":62,"props":520,"children":521},{},[522],{"type":21,"value":523},"✓ No data conflicts",{"type":15,"tag":62,"props":525,"children":526},{},[527],{"type":21,"value":528},"✓ Permissions correct",{"type":15,"tag":94,"props":530,"children":532},{"id":531},"running-migration",[533],{"type":21,"value":534},"Running Migration",{"type":15,"tag":106,"props":536,"children":537},{},[538,547,575],{"type":15,"tag":62,"props":539,"children":540},{},[541,542],{"type":21,"value":173},{"type":15,"tag":113,"props":543,"children":544},{},[545],{"type":21,"value":546},"Start Migration",{"type":15,"tag":62,"props":548,"children":549},{},[550,552],{"type":21,"value":551},"System begins:\n",{"type":15,"tag":58,"props":553,"children":554},{},[555,560,565,570],{"type":15,"tag":62,"props":556,"children":557},{},[558],{"type":21,"value":559},"Reading from source",{"type":15,"tag":62,"props":561,"children":562},{},[563],{"type":21,"value":564},"Transforming data",{"type":15,"tag":62,"props":566,"children":567},{},[568],{"type":21,"value":569},"Writing to destination",{"type":15,"tag":62,"props":571,"children":572},{},[573],{"type":21,"value":574},"Tracking progress",{"type":15,"tag":62,"props":576,"children":577},{},[578],{"type":21,"value":579},"See real-time status:",{"type":15,"tag":255,"props":581,"children":583},{"code":582},"Progress: ████████░░ 82%\nMigrated: 1,024,567 \u002F 1,234,567 rows\nTime elapsed: 23 minutes\nEstimated: 5 minutes remaining\nSpeed: 45,000 rows\u002Fminute\n",[584],{"type":15,"tag":260,"props":585,"children":586},{"__ignoreMap":8},[587],{"type":21,"value":582},{"type":15,"tag":94,"props":589,"children":591},{"id":590},"monitoring",[592],{"type":21,"value":593},"Monitoring",{"type":15,"tag":40,"props":595,"children":596},{},[597],{"type":21,"value":598},"During migration, monitor:",{"type":15,"tag":58,"props":600,"children":601},{},[602,607,612,617,622],{"type":15,"tag":62,"props":603,"children":604},{},[605],{"type":21,"value":606},"Progress percentage",{"type":15,"tag":62,"props":608,"children":609},{},[610],{"type":21,"value":611},"Rows processed",{"type":15,"tag":62,"props":613,"children":614},{},[615],{"type":21,"value":616},"Errors encountered",{"type":15,"tag":62,"props":618,"children":619},{},[620],{"type":21,"value":621},"Network\u002FCPU usage",{"type":15,"tag":62,"props":623,"children":624},{},[625],{"type":21,"value":626},"Current step",{"type":15,"tag":94,"props":628,"children":630},{"id":629},"handling-errors",[631],{"type":21,"value":632},"Handling Errors",{"type":15,"tag":40,"props":634,"children":635},{},[636],{"type":21,"value":637},"If errors occur:",{"type":15,"tag":255,"props":639,"children":641},{"code":640},"Error on row 45,632:\nColumn 'customer_id' has invalid value: \"ABC123\"\nExpected: Integer\n\nOptions:\n○ Skip row (continue)\n● Fail and stop\n○ Mark for review (continue, flag later)\n",[642],{"type":15,"tag":260,"props":643,"children":644},{"__ignoreMap":8},[645],{"type":21,"value":640},{"type":15,"tag":40,"props":647,"children":648},{},[649],{"type":21,"value":650},"Choose how to handle:",{"type":15,"tag":58,"props":652,"children":653},{},[654,664,674],{"type":15,"tag":62,"props":655,"children":656},{},[657,662],{"type":15,"tag":113,"props":658,"children":659},{},[660],{"type":21,"value":661},"Skip",{"type":21,"value":663}," - Continue without this row",{"type":15,"tag":62,"props":665,"children":666},{},[667,672],{"type":15,"tag":113,"props":668,"children":669},{},[670],{"type":21,"value":671},"Stop",{"type":21,"value":673}," - Halt migration",{"type":15,"tag":62,"props":675,"children":676},{},[677,682],{"type":15,"tag":113,"props":678,"children":679},{},[680],{"type":21,"value":681},"Flag",{"type":21,"value":683}," - Continue but mark for manual review",{"type":15,"tag":46,"props":685,"children":687},{"id":686},"validating-data",[688],{"type":21,"value":689},"Validating Data",{"type":15,"tag":94,"props":691,"children":693},{"id":692},"post-migration-checks",[694],{"type":21,"value":695},"Post-Migration Checks",{"type":15,"tag":40,"props":697,"children":698},{},[699],{"type":21,"value":700},"After migration completes:",{"type":15,"tag":255,"props":702,"children":704},{"code":703},"Source Database:\n- customers: 1,234,567 rows\n- orders: 5,234,891 rows\n- products: 25,643 rows\nTotal: 6,495,101 rows\n\nCredVault Database:\n- customers: 1,234,567 rows ✓\n- orders: 5,234,891 rows ✓\n- products: 25,643 rows ✓\nTotal: 6,495,101 rows ✓\n\nValidation: PASSED\n",[705],{"type":15,"tag":260,"props":706,"children":707},{"__ignoreMap":8},[708],{"type":21,"value":703},{"type":15,"tag":94,"props":710,"children":712},{"id":711},"data-reconciliation",[713],{"type":21,"value":714},"Data Reconciliation",{"type":15,"tag":40,"props":716,"children":717},{},[718],{"type":21,"value":719},"Compare source and destination:",{"type":15,"tag":255,"props":721,"children":723},{"code":722},"Record count match: ✓\nColumn count match: ✓\nData types match: ✓\nNo null mismatches: ✓\nChecksum: ✓\n",[724],{"type":15,"tag":260,"props":725,"children":726},{"__ignoreMap":8},[727],{"type":21,"value":722},{"type":15,"tag":94,"props":729,"children":731},{"id":730},"sample-verification",[732],{"type":21,"value":733},"Sample Verification",{"type":15,"tag":40,"props":735,"children":736},{},[737],{"type":21,"value":738},"Spot-check random samples:",{"type":15,"tag":255,"props":740,"children":742},{"code":741},"Checking 100 random rows:\nSource | Destination | Match\n456    | 456         | ✓\n8923   | 8923        | ✓\n124567 | 124567      | ✓\n... (100 of 100 match)\n\nVerification: PASSED\n",[743],{"type":15,"tag":260,"props":744,"children":745},{"__ignoreMap":8},[746],{"type":21,"value":741},{"type":15,"tag":46,"props":748,"children":750},{"id":749},"continuous-migration",[751],{"type":21,"value":752},"Continuous Migration",{"type":15,"tag":94,"props":754,"children":756},{"id":755},"setup-sync",[757],{"type":21,"value":758},"Setup Sync",{"type":15,"tag":40,"props":760,"children":761},{},[762],{"type":21,"value":763},"For continuous sync:",{"type":15,"tag":106,"props":765,"children":766},{},[767,795],{"type":15,"tag":62,"props":768,"children":769},{},[770,772],{"type":21,"value":771},"Set sync frequency:",{"type":15,"tag":58,"props":773,"children":774},{},[775,780,785,790],{"type":15,"tag":62,"props":776,"children":777},{},[778],{"type":21,"value":779},"Every 5 minutes",{"type":15,"tag":62,"props":781,"children":782},{},[783],{"type":21,"value":784},"Hourly",{"type":15,"tag":62,"props":786,"children":787},{},[788],{"type":21,"value":789},"Daily",{"type":15,"tag":62,"props":791,"children":792},{},[793],{"type":21,"value":794},"Custom interval",{"type":15,"tag":62,"props":796,"children":797},{},[798,800],{"type":21,"value":799},"Choose sync mode:",{"type":15,"tag":58,"props":801,"children":802},{},[803,813,823],{"type":15,"tag":62,"props":804,"children":805},{},[806,811],{"type":15,"tag":113,"props":807,"children":808},{},[809],{"type":21,"value":810},"Full Sync",{"type":21,"value":812}," - Recopy everything",{"type":15,"tag":62,"props":814,"children":815},{},[816,821],{"type":15,"tag":113,"props":817,"children":818},{},[819],{"type":21,"value":820},"Incremental",{"type":21,"value":822}," - Only new\u002Fchanged rows",{"type":15,"tag":62,"props":824,"children":825},{},[826,831],{"type":15,"tag":113,"props":827,"children":828},{},[829],{"type":21,"value":830},"CDC",{"type":21,"value":832}," - Change Data Capture",{"type":15,"tag":94,"props":834,"children":836},{"id":835},"monitoring-sync",[837],{"type":21,"value":838},"Monitoring Sync",{"type":15,"tag":255,"props":840,"children":842},{"code":841},"Last sync: 2024-06-12 14:30:22 UTC\nStatus: Success\nDuration: 2 minutes\nNew rows: 143\nUpdated rows: 87\nDeleted rows: 12\nNext sync: 2024-06-12 14:35:22 UTC\n",[843],{"type":15,"tag":260,"props":844,"children":845},{"__ignoreMap":8},[846],{"type":21,"value":841},{"type":15,"tag":94,"props":848,"children":850},{"id":849},"pauseresume",[851],{"type":21,"value":852},"Pause\u002FResume",{"type":15,"tag":40,"props":854,"children":855},{},[856],{"type":21,"value":857},"Pause sync during:",{"type":15,"tag":58,"props":859,"children":860},{},[861,866,871],{"type":15,"tag":62,"props":862,"children":863},{},[864],{"type":21,"value":865},"Maintenance windows",{"type":15,"tag":62,"props":867,"children":868},{},[869],{"type":21,"value":870},"Source system updates",{"type":15,"tag":62,"props":872,"children":873},{},[874],{"type":21,"value":875},"Destination backups",{"type":15,"tag":40,"props":877,"children":878},{},[879],{"type":21,"value":880},"Resume when ready.",{"type":15,"tag":46,"props":882,"children":884},{"id":883},"rollback-and-recovery",[885],{"type":21,"value":886},"Rollback and Recovery",{"type":15,"tag":94,"props":888,"children":890},{"id":889},"before-migration",[891],{"type":21,"value":892},"Before Migration",{"type":15,"tag":40,"props":894,"children":895},{},[896],{"type":21,"value":897},"Create backup:",{"type":15,"tag":255,"props":899,"children":901},{"code":900},"CredVault automatically creates backup\nBackup name: migration_2024_06_12_backup\nRetention: 30 days\nCan restore anytime\n",[902],{"type":15,"tag":260,"props":903,"children":904},{"__ignoreMap":8},[905],{"type":21,"value":900},{"type":15,"tag":94,"props":907,"children":909},{"id":908},"after-problems",[910],{"type":21,"value":911},"After Problems",{"type":15,"tag":40,"props":913,"children":914},{},[915],{"type":21,"value":916},"Rollback migration:",{"type":15,"tag":106,"props":918,"children":919},{},[920,929,934,939,944],{"type":15,"tag":62,"props":921,"children":922},{},[923,924],{"type":21,"value":173},{"type":15,"tag":113,"props":925,"children":926},{},[927],{"type":21,"value":928},"Rollback",{"type":15,"tag":62,"props":930,"children":931},{},[932],{"type":21,"value":933},"Choose restore point",{"type":15,"tag":62,"props":935,"children":936},{},[937],{"type":21,"value":938},"Restore to previous state",{"type":15,"tag":62,"props":940,"children":941},{},[942],{"type":21,"value":943},"Verify data restored",{"type":15,"tag":62,"props":945,"children":946},{},[947],{"type":21,"value":948},"Debug issue",{"type":15,"tag":94,"props":950,"children":952},{"id":951},"testing-first",[953],{"type":21,"value":954},"Testing First",{"type":15,"tag":40,"props":956,"children":957},{},[958],{"type":21,"value":959},"Test in staging environment:",{"type":15,"tag":255,"props":961,"children":963},{"code":962},"1. Create staging CredVault instance\n2. Run migration to staging\n3. Validate data\n4. Check application works\n5. Then run to production\n",[964],{"type":15,"tag":260,"props":965,"children":966},{"__ignoreMap":8},[967],{"type":21,"value":962},{"type":15,"tag":46,"props":969,"children":971},{"id":970},"best-practices",[972],{"type":21,"value":973},"Best Practices",{"type":15,"tag":94,"props":975,"children":977},{"id":976},"plan-thoroughly",[978],{"type":21,"value":979},"Plan Thoroughly",{"type":15,"tag":58,"props":981,"children":982},{},[983,988,993,998],{"type":15,"tag":62,"props":984,"children":985},{},[986],{"type":21,"value":987},"Map all columns before starting",{"type":15,"tag":62,"props":989,"children":990},{},[991],{"type":21,"value":992},"Test transformations",{"type":15,"tag":62,"props":994,"children":995},{},[996],{"type":21,"value":997},"Identify constraints",{"type":15,"tag":62,"props":999,"children":1000},{},[1001],{"type":21,"value":1002},"Plan for downtime",{"type":15,"tag":94,"props":1004,"children":1006},{"id":1005},"test-first",[1007],{"type":21,"value":1008},"Test First",{"type":15,"tag":58,"props":1010,"children":1011},{},[1012,1017,1022,1027],{"type":15,"tag":62,"props":1013,"children":1014},{},[1015],{"type":21,"value":1016},"Run on non-production data",{"type":15,"tag":62,"props":1018,"children":1019},{},[1020],{"type":21,"value":1021},"Verify output",{"type":15,"tag":62,"props":1023,"children":1024},{},[1025],{"type":21,"value":1026},"Test application with migrated data",{"type":15,"tag":62,"props":1028,"children":1029},{},[1030],{"type":21,"value":1031},"Practice rollback",{"type":15,"tag":94,"props":1033,"children":1035},{"id":1034},"monitor-closely",[1036],{"type":21,"value":1037},"Monitor Closely",{"type":15,"tag":58,"props":1039,"children":1040},{},[1041,1046,1051,1056],{"type":15,"tag":62,"props":1042,"children":1043},{},[1044],{"type":21,"value":1045},"Watch progress",{"type":15,"tag":62,"props":1047,"children":1048},{},[1049],{"type":21,"value":1050},"Check error logs",{"type":15,"tag":62,"props":1052,"children":1053},{},[1054],{"type":21,"value":1055},"Validate after completion",{"type":15,"tag":62,"props":1057,"children":1058},{},[1059],{"type":21,"value":1060},"Keep audit trail",{"type":15,"tag":94,"props":1062,"children":1064},{"id":1063},"communicate",[1065],{"type":21,"value":1066},"Communicate",{"type":15,"tag":58,"props":1068,"children":1069},{},[1070,1075,1080,1085],{"type":15,"tag":62,"props":1071,"children":1072},{},[1073],{"type":21,"value":1074},"Notify users of maintenance",{"type":15,"tag":62,"props":1076,"children":1077},{},[1078],{"type":21,"value":1079},"Provide timeline",{"type":15,"tag":62,"props":1081,"children":1082},{},[1083],{"type":21,"value":1084},"Update on progress",{"type":15,"tag":62,"props":1086,"children":1087},{},[1088],{"type":21,"value":1089},"Confirm completion",{"type":15,"tag":46,"props":1091,"children":1093},{"id":1092},"common-workflows",[1094],{"type":21,"value":1095},"Common Workflows",{"type":15,"tag":94,"props":1097,"children":1099},{"id":1098},"one-time-database-migration",[1100],{"type":21,"value":1101},"One-Time Database Migration",{"type":15,"tag":255,"props":1103,"children":1105},{"code":1104},"1. Set up connection to old database\n2. Select all tables\n3. Map columns\n4. Test in staging\n5. Schedule migration\n6. Backup destination\n7. Run migration\n8. Validate\n9. Switch applications over\n",[1106],{"type":15,"tag":260,"props":1107,"children":1108},{"__ignoreMap":8},[1109],{"type":21,"value":1104},{"type":15,"tag":94,"props":1111,"children":1113},{"id":1112},"regular-data-import",[1114],{"type":21,"value":1115},"Regular Data Import",{"type":15,"tag":255,"props":1117,"children":1119},{"code":1118},"1. Create CSV\u002FAPI connection\n2. Select columns to import\n3. Map to CredVault fields\n4. Test with sample\n5. Schedule weekly import\n6. Monitor for errors\n7. Review new data\n",[1120],{"type":15,"tag":260,"props":1121,"children":1122},{"__ignoreMap":8},[1123],{"type":21,"value":1118},{"type":15,"tag":94,"props":1125,"children":1127},{"id":1126},"multi-source-consolidation",[1128],{"type":21,"value":1129},"Multi-Source Consolidation",{"type":15,"tag":255,"props":1131,"children":1133},{"code":1132},"1. Identify data sources (3+ databases)\n2. Design unified schema\n3. Create migration for each source\n4. Map overlapping fields\n5. Handle deduplication\n6. Run all migrations\n7. Validate consistency\n",[1134],{"type":15,"tag":260,"props":1135,"children":1136},{"__ignoreMap":8},[1137],{"type":21,"value":1132},{"type":15,"tag":46,"props":1139,"children":1141},{"id":1140},"troubleshooting",[1142],{"type":21,"value":1143},"Troubleshooting",{"type":15,"tag":94,"props":1145,"children":1147},{"id":1146},"connection-fails",[1148],{"type":21,"value":1149},"Connection fails",{"type":15,"tag":58,"props":1151,"children":1152},{},[1153,1158,1163,1168],{"type":15,"tag":62,"props":1154,"children":1155},{},[1156],{"type":21,"value":1157},"Check connection string",{"type":15,"tag":62,"props":1159,"children":1160},{},[1161],{"type":21,"value":1162},"Verify firewall rules",{"type":15,"tag":62,"props":1164,"children":1165},{},[1166],{"type":21,"value":1167},"Test credentials",{"type":15,"tag":62,"props":1169,"children":1170},{},[1171],{"type":21,"value":1172},"Check network connectivity",{"type":15,"tag":94,"props":1174,"children":1176},{"id":1175},"data-mismatch",[1177],{"type":21,"value":1178},"Data mismatch",{"type":15,"tag":58,"props":1180,"children":1181},{},[1182,1187,1192,1197],{"type":15,"tag":62,"props":1183,"children":1184},{},[1185],{"type":21,"value":1186},"Verify column mapping",{"type":15,"tag":62,"props":1188,"children":1189},{},[1190],{"type":21,"value":1191},"Check data transformations",{"type":15,"tag":62,"props":1193,"children":1194},{},[1195],{"type":21,"value":1196},"Look for encoding issues",{"type":15,"tag":62,"props":1198,"children":1199},{},[1200],{"type":21,"value":1201},"Compare sample rows",{"type":15,"tag":94,"props":1203,"children":1205},{"id":1204},"too-slow",[1206],{"type":21,"value":1207},"Too slow",{"type":15,"tag":58,"props":1209,"children":1210},{},[1211,1216,1221,1226],{"type":15,"tag":62,"props":1212,"children":1213},{},[1214],{"type":21,"value":1215},"Increase batch size",{"type":15,"tag":62,"props":1217,"children":1218},{},[1219],{"type":21,"value":1220},"Use incremental mode",{"type":15,"tag":62,"props":1222,"children":1223},{},[1224],{"type":21,"value":1225},"Reduce concurrent operations",{"type":15,"tag":62,"props":1227,"children":1228},{},[1229],{"type":21,"value":1230},"Check network bandwidth",{"type":15,"tag":94,"props":1232,"children":1234},{"id":1233},"storage-exceeded",[1235],{"type":21,"value":1236},"Storage exceeded",{"type":15,"tag":58,"props":1238,"children":1239},{},[1240,1245,1250,1255],{"type":15,"tag":62,"props":1241,"children":1242},{},[1243],{"type":21,"value":1244},"Clean up unused data",{"type":15,"tag":62,"props":1246,"children":1247},{},[1248],{"type":21,"value":1249},"Archive old records",{"type":15,"tag":62,"props":1251,"children":1252},{},[1253],{"type":21,"value":1254},"Reduce retention period",{"type":15,"tag":62,"props":1256,"children":1257},{},[1258],{"type":21,"value":1259},"Upgrade storage plan",{"type":15,"tag":46,"props":1261,"children":1263},{"id":1262},"related-topics",[1264],{"type":21,"value":1265},"Related Topics",{"type":15,"tag":58,"props":1267,"children":1268},{},[1269,1281,1292],{"type":15,"tag":62,"props":1270,"children":1271},{},[1272,1279],{"type":15,"tag":1273,"props":1274,"children":1276},"a",{"href":1275},"\u002Fdocs\u002Ffeatures\u002Fdatabase-clusters",[1277],{"type":21,"value":1278},"Database Clusters",{"type":21,"value":1280}," - Store migrated data",{"type":15,"tag":62,"props":1282,"children":1283},{},[1284,1290],{"type":15,"tag":1273,"props":1285,"children":1287},{"href":1286},"\u002Fdocs\u002Ffeatures\u002Factivity-logs",[1288],{"type":21,"value":1289},"Activity Logs",{"type":21,"value":1291}," - Track migration events",{"type":15,"tag":62,"props":1293,"children":1294},{},[1295,1301],{"type":15,"tag":1273,"props":1296,"children":1298},{"href":1297},"\u002Fdocs\u002Ffeatures\u002Fbilling",[1299],{"type":21,"value":1300},"Billing & Plans",{"type":21,"value":1302}," - Understand storage costs",{"type":15,"tag":1304,"props":1305,"children":1306},"style",{},[1307],{"type":21,"value":1308},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":8,"searchDepth":397,"depth":397,"links":1310},[1311,1312,1316,1321,1326,1332,1337,1342,1347,1353,1358,1364],{"id":48,"depth":397,"text":51},{"id":89,"depth":397,"text":92,"children":1313},[1314,1315],{"id":96,"depth":406,"text":99},{"id":162,"depth":406,"text":165},{"id":239,"depth":397,"text":242,"children":1317},[1318,1319,1320],{"id":245,"depth":406,"text":248},{"id":271,"depth":406,"text":274},{"id":290,"depth":406,"text":293},{"id":309,"depth":397,"text":312,"children":1322},[1323,1324,1325],{"id":315,"depth":406,"text":318},{"id":334,"depth":406,"text":337},{"id":366,"depth":406,"text":369},{"id":486,"depth":397,"text":489,"children":1327},[1328,1329,1330,1331],{"id":492,"depth":406,"text":495},{"id":531,"depth":406,"text":534},{"id":590,"depth":406,"text":593},{"id":629,"depth":406,"text":632},{"id":686,"depth":397,"text":689,"children":1333},[1334,1335,1336],{"id":692,"depth":406,"text":695},{"id":711,"depth":406,"text":714},{"id":730,"depth":406,"text":733},{"id":749,"depth":397,"text":752,"children":1338},[1339,1340,1341],{"id":755,"depth":406,"text":758},{"id":835,"depth":406,"text":838},{"id":849,"depth":406,"text":852},{"id":883,"depth":397,"text":886,"children":1343},[1344,1345,1346],{"id":889,"depth":406,"text":892},{"id":908,"depth":406,"text":911},{"id":951,"depth":406,"text":954},{"id":970,"depth":397,"text":973,"children":1348},[1349,1350,1351,1352],{"id":976,"depth":406,"text":979},{"id":1005,"depth":406,"text":1008},{"id":1034,"depth":406,"text":1037},{"id":1063,"depth":406,"text":1066},{"id":1092,"depth":397,"text":1095,"children":1354},[1355,1356,1357],{"id":1098,"depth":406,"text":1101},{"id":1112,"depth":406,"text":1115},{"id":1126,"depth":406,"text":1129},{"id":1140,"depth":397,"text":1143,"children":1359},[1360,1361,1362,1363],{"id":1146,"depth":406,"text":1149},{"id":1175,"depth":406,"text":1178},{"id":1204,"depth":406,"text":1207},{"id":1233,"depth":406,"text":1236},{"id":1262,"depth":397,"text":1265},"markdown","content:docs:features:migrations.md","content","docs\u002Ffeatures\u002Fmigrations.md","docs\u002Ffeatures\u002Fmigrations","md",1794695987050]