[{"data":1,"prerenderedAt":603},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fstreams\u002Fschema-selection-guide":3},{"id":4,"title":5,"body":6,"description":594,"extension":595,"meta":596,"navigation":597,"path":598,"redirect":599,"seo":600,"stem":601,"__hash__":602},"docs\u002Fdocs\u002Fstreams\u002Fschema-selection-guide.md","Schema Selection Guide",{"type":7,"value":8,"toc":583},"minimark",[9,13,17,20,30,39,44,47,50,54,57,60,71,79,251,254,258,264,286,480,484,489,506,510,518,522,558,562,579],[10,11,5],"h1",{"id":12},"schema-selection-guide",[14,15,16],"p",{},"Use this page to decide how much of a database a stream should read.",[14,18,19],{},"It explains the two main patterns:",[21,22,23,27],"ul",{},[24,25,26],"li",{},"auto-discovery for database sources",[24,28,29],{},"explicit table selection when you need tighter control",[14,31,32,33,38],{},"For source, target, and mode boundaries, see the ",[34,35,37],"a",{"href":36},"\u002Fdocs\u002Fstreams\u002Fstream-configuration-guide","Stream Configuration Guide",".",[40,41,43],"h2",{"id":42},"the-selection-model","The selection model",[14,45,46],{},"Schema selection applies to database-backed stream sources such as MySQL and PostgreSQL.",[14,48,49],{},"For file sources, S3-compatible storage, or federated SQL workflows, the scope is driven by files, paths, or query definitions instead of database schemas.",[40,51,53],{"id":52},"auto-discovery","Auto-discovery",[14,55,56],{},"When you create a database-based stream with no explicit table list, DBConvert Streams can discover the visible tables from the source connection and use that result as the initial scope.",[14,58,59],{},"Use auto-discovery when:",[21,61,62,65,68],{},[24,63,64],{},"you want a broad first pass over the source",[24,66,67],{},"you trust the connection user's visibility rules",[24,69,70],{},"you plan to confirm the result in the UI before running the stream",[14,72,73,74,78],{},"Via API, simply omit the ",[75,76,77],"code",{},"tables"," field — the backend discovers visible tables automatically:",[80,81,86],"pre",{"className":82,"code":83,"language":84,"meta":85,"style":85},"language-json shiki shiki-themes github-light github-dark","{\n  \"name\": \"full-source-pass\",\n  \"mode\": \"load\",\n  \"source\": {\n    \"connections\": [\n      {\n        \"connectionId\": \"conn_SOURCE_ID\",\n        \"database\": \"app_db\"\n      }\n    ]\n  },\n  \"target\": {\n    \"id\": \"conn_TARGET_ID\",\n    \"spec\": { \"db\": { \"database\": \"warehouse\" } }\n  }\n}\n","json","",[75,87,88,97,114,127,136,145,151,164,175,181,187,193,201,214,239,245],{"__ignoreMap":85},[89,90,93],"span",{"class":91,"line":92},"line",1,[89,94,96],{"class":95},"sVt8B","{\n",[89,98,100,104,107,111],{"class":91,"line":99},2,[89,101,103],{"class":102},"sj4cs","  \"name\"",[89,105,106],{"class":95},": ",[89,108,110],{"class":109},"sZZnC","\"full-source-pass\"",[89,112,113],{"class":95},",\n",[89,115,117,120,122,125],{"class":91,"line":116},3,[89,118,119],{"class":102},"  \"mode\"",[89,121,106],{"class":95},[89,123,124],{"class":109},"\"load\"",[89,126,113],{"class":95},[89,128,130,133],{"class":91,"line":129},4,[89,131,132],{"class":102},"  \"source\"",[89,134,135],{"class":95},": {\n",[89,137,139,142],{"class":91,"line":138},5,[89,140,141],{"class":102},"    \"connections\"",[89,143,144],{"class":95},": [\n",[89,146,148],{"class":91,"line":147},6,[89,149,150],{"class":95},"      {\n",[89,152,154,157,159,162],{"class":91,"line":153},7,[89,155,156],{"class":102},"        \"connectionId\"",[89,158,106],{"class":95},[89,160,161],{"class":109},"\"conn_SOURCE_ID\"",[89,163,113],{"class":95},[89,165,167,170,172],{"class":91,"line":166},8,[89,168,169],{"class":102},"        \"database\"",[89,171,106],{"class":95},[89,173,174],{"class":109},"\"app_db\"\n",[89,176,178],{"class":91,"line":177},9,[89,179,180],{"class":95},"      }\n",[89,182,184],{"class":91,"line":183},10,[89,185,186],{"class":95},"    ]\n",[89,188,190],{"class":91,"line":189},11,[89,191,192],{"class":95},"  },\n",[89,194,196,199],{"class":91,"line":195},12,[89,197,198],{"class":102},"  \"target\"",[89,200,135],{"class":95},[89,202,204,207,209,212],{"class":91,"line":203},13,[89,205,206],{"class":102},"    \"id\"",[89,208,106],{"class":95},[89,210,211],{"class":109},"\"conn_TARGET_ID\"",[89,213,113],{"class":95},[89,215,217,220,223,226,228,231,233,236],{"class":91,"line":216},14,[89,218,219],{"class":102},"    \"spec\"",[89,221,222],{"class":95},": { ",[89,224,225],{"class":102},"\"db\"",[89,227,222],{"class":95},[89,229,230],{"class":102},"\"database\"",[89,232,106],{"class":95},[89,234,235],{"class":109},"\"warehouse\"",[89,237,238],{"class":95}," } }\n",[89,240,242],{"class":91,"line":241},15,[89,243,244],{"class":95},"  }\n",[89,246,248],{"class":91,"line":247},16,[89,249,250],{"class":95},"}\n",[14,252,253],{},"Always inspect the discovered result in the UI before assuming it matches business scope.",[40,255,257],{"id":256},"explicit-table-selection","Explicit table selection",[14,259,260,261,263],{},"Use an explicit ",[75,262,77],{}," list when:",[21,265,266,269,272,275,283],{},[24,267,268],{},"only part of the source should be moved",[24,270,271],{},"only specific schemas should be included",[24,273,274],{},"the stream must stay stable even if new tables appear later",[24,276,277,278,282],{},"you need per-table ",[34,279,281],{"href":280},"\u002Fdocs\u002Fstreams\u002Fcustom-sql-queries","custom queries"," in Load workflows",[24,284,285],{},"the source contains multiple business domains and the connection user can see more tables than the stream should process",[80,287,289],{"className":82,"code":288,"language":84,"meta":85,"style":85},"{\n  \"name\": \"selected-tables\",\n  \"mode\": \"load\",\n  \"source\": {\n    \"connections\": [\n      {\n        \"connectionId\": \"conn_SOURCE_ID\",\n        \"database\": \"app_db\",\n        \"schema\": \"public\",\n        \"tables\": [\n          { \"name\": \"products\" },\n          { \"name\": \"orders\" },\n          { \"name\": \"users\" }\n        ]\n      }\n    ]\n  },\n  \"target\": {\n    \"id\": \"conn_TARGET_ID\",\n    \"spec\": { \"db\": { \"database\": \"warehouse\" } }\n  }\n}\n",[75,290,291,295,306,316,322,328,332,342,353,365,372,388,401,415,420,424,428,433,440,451,470,475],{"__ignoreMap":85},[89,292,293],{"class":91,"line":92},[89,294,96],{"class":95},[89,296,297,299,301,304],{"class":91,"line":99},[89,298,103],{"class":102},[89,300,106],{"class":95},[89,302,303],{"class":109},"\"selected-tables\"",[89,305,113],{"class":95},[89,307,308,310,312,314],{"class":91,"line":116},[89,309,119],{"class":102},[89,311,106],{"class":95},[89,313,124],{"class":109},[89,315,113],{"class":95},[89,317,318,320],{"class":91,"line":129},[89,319,132],{"class":102},[89,321,135],{"class":95},[89,323,324,326],{"class":91,"line":138},[89,325,141],{"class":102},[89,327,144],{"class":95},[89,329,330],{"class":91,"line":147},[89,331,150],{"class":95},[89,333,334,336,338,340],{"class":91,"line":153},[89,335,156],{"class":102},[89,337,106],{"class":95},[89,339,161],{"class":109},[89,341,113],{"class":95},[89,343,344,346,348,351],{"class":91,"line":166},[89,345,169],{"class":102},[89,347,106],{"class":95},[89,349,350],{"class":109},"\"app_db\"",[89,352,113],{"class":95},[89,354,355,358,360,363],{"class":91,"line":177},[89,356,357],{"class":102},"        \"schema\"",[89,359,106],{"class":95},[89,361,362],{"class":109},"\"public\"",[89,364,113],{"class":95},[89,366,367,370],{"class":91,"line":183},[89,368,369],{"class":102},"        \"tables\"",[89,371,144],{"class":95},[89,373,374,377,380,382,385],{"class":91,"line":189},[89,375,376],{"class":95},"          { ",[89,378,379],{"class":102},"\"name\"",[89,381,106],{"class":95},[89,383,384],{"class":109},"\"products\"",[89,386,387],{"class":95}," },\n",[89,389,390,392,394,396,399],{"class":91,"line":195},[89,391,376],{"class":95},[89,393,379],{"class":102},[89,395,106],{"class":95},[89,397,398],{"class":109},"\"orders\"",[89,400,387],{"class":95},[89,402,403,405,407,409,412],{"class":91,"line":203},[89,404,376],{"class":95},[89,406,379],{"class":102},[89,408,106],{"class":95},[89,410,411],{"class":109},"\"users\"",[89,413,414],{"class":95}," }\n",[89,416,417],{"class":91,"line":216},[89,418,419],{"class":95},"        ]\n",[89,421,422],{"class":91,"line":241},[89,423,180],{"class":95},[89,425,426],{"class":91,"line":247},[89,427,186],{"class":95},[89,429,431],{"class":91,"line":430},17,[89,432,192],{"class":95},[89,434,436,438],{"class":91,"line":435},18,[89,437,198],{"class":102},[89,439,135],{"class":95},[89,441,443,445,447,449],{"class":91,"line":442},19,[89,444,206],{"class":102},[89,446,106],{"class":95},[89,448,211],{"class":109},[89,450,113],{"class":95},[89,452,454,456,458,460,462,464,466,468],{"class":91,"line":453},20,[89,455,219],{"class":102},[89,457,222],{"class":95},[89,459,225],{"class":102},[89,461,222],{"class":95},[89,463,230],{"class":102},[89,465,106],{"class":95},[89,467,235],{"class":109},[89,469,238],{"class":95},[89,471,473],{"class":91,"line":472},21,[89,474,244],{"class":95},[89,476,478],{"class":91,"line":477},22,[89,479,250],{"class":95},[40,481,483],{"id":482},"naming-behavior-by-database-type","Naming behavior by database type",[485,486,488],"h3",{"id":487},"postgresql","PostgreSQL",[21,490,491,494,500],{},[24,492,493],{},"schemas matter",[24,495,496,497],{},"table names are commonly written as ",[75,498,499],{},"schema.table",[24,501,502,503],{},"the default schema is usually ",[75,504,505],{},"public",[485,507,509],{"id":508},"mysql","MySQL",[21,511,512,515],{},[24,513,514],{},"the stream is usually scoped to the connected database",[24,516,517],{},"table names are typically unqualified inside that connection scope",[40,519,521],{"id":520},"recommended-validation-flow","Recommended validation flow",[523,524,525,528,536,544,547,550],"ol",{},[24,526,527],{},"Create or test the source connection.",[24,529,530,531,535],{},"Open it in ",[34,532,534],{"href":533},"\u002Fdocs\u002Fdatabase-explorer\u002F","Data Explorer"," to confirm what the platform can see.",[24,537,538,539,543],{},"Use ",[34,540,542],{"href":541},"\u002Fdocs\u002Fdatabase-explorer\u002Fsql-console","SQL Console"," for spot checks.",[24,545,546],{},"Create the stream with auto-discovery or an explicit table list.",[24,548,549],{},"Re-open the saved stream configuration and confirm the final scope before starting it.",[24,551,552,553,557],{},"After the first run, verify the stream reached ",[554,555,556],"strong",{},"finished"," and the transferred row counts match expectations.",[40,559,561],{"id":560},"related-docs","Related docs",[21,563,564,570,574],{},[24,565,566],{},[34,567,569],{"href":568},"\u002Fdocs\u002Fstreams\u002Funderstanding-streams","Understanding Streams",[24,571,572],{},[34,573,37],{"href":36},[24,575,576],{},[34,577,578],{"href":280},"Custom SQL Queries",[580,581,582],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}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);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":85,"searchDepth":99,"depth":99,"links":584},[585,586,587,588,592,593],{"id":42,"depth":99,"text":43},{"id":52,"depth":99,"text":53},{"id":256,"depth":99,"text":257},{"id":482,"depth":99,"text":483,"children":589},[590,591],{"id":487,"depth":116,"text":488},{"id":508,"depth":116,"text":509},{"id":520,"depth":99,"text":521},{"id":560,"depth":99,"text":561},"Learn how DBConvert Streams chooses schemas, tables, and scope for database-based stream configurations.","md",{},false,"\u002Fdocs\u002Fstreams\u002Fschema-selection-guide",null,{"title":5,"description":594},"docs\u002Fstreams\u002Fschema-selection-guide","nxY-SpJAaE2uqmF-b0V693VHHa23YHWqs0wBa_Bq43c",1783896284841]