Esporta l-iskema (struttura) biss minn SQL dump

Għandek dump sħiħ fuq id-disk, imma trid biss l-istruttura — CREATE TABLE, indiċi, foreign keys — bla t-tabelli tal-log ta' 89-miljun ringiela. Jew il-kontra: biss id-data, l-ebda dikjarazzjoni CREATE. Hawn għaliex il-flags tas-soltu tad-dump ma jgħinux fajl eżistenti, u kif taqsam l-istruttura mid-data b'klikk waħda.

Tliet sitwazzjonijiet ikomplu jitfaċċaw:

Għaliex mysqldump --no-data mhux biżżejjed

Il-parir klassiku huwa mysqldump --no-data (struttura biss) jew mysqldump --no-create-info (data biss). It-tnejn huma flags tal-esportazzjoni: ibiddlu x'fih dump frisk minn database li qed jaħdem. Ma jagħmlu xejn għal dump li diġà għandek bilqiegħda fuq id-disk bħala fajl .sql.

Fil-prattika l-fajl ta' spiss jasal minn xi ħadd ieħor, jew minn xogħol ta' backup, jew minn server li m'għadx għandek aċċess live għalih. Ma tistax terġa' tħaddem mysqldump kontra database li mhux jista' jintlaħaq — il-kredenzjali ntilfu, is-server ġie diżattivat, jew il-fajl huwa sempliċiment kulma ġejt mgħoti. F'dak il-punt il-flags huma inutli, u tibqa' teditja l-fajl innifsu.

Il-mod manwali

Il-mossa ovvja hija li tneħħi l-linji b'grep jew sed. Biex iżżomm l-istruttura u twaqqa' d-data:

# żomm kollox ħlief ir-ringieli INSERT
grep -v '^INSERT INTO' dump.sql > schema.sql

# jew żomm biss ir-ringieli INSERT għal fajl bid-data biss
grep '^INSERT INTO' dump.sql > data.sql

Dan jidher tajjeb fuq dump żgħir u nadif — u mbagħad jinkiser fuq wieħed reali:

Tispiċċa tiddebagja l-filtru tiegħek stess minflok ma tikseb l-iskema tiegħek.

Struttura-biss jew data-biss b'DumpCleaner

DumpCleaner jifhem id-dikjarazzjonijiet SQL minflok ma jqabbel linji, għalhekk jaqsam l-istruttura mid-data b'mod affidabbli — fuq fajls ta' kwalunkwe daqs:

  1. Iġbed id-dump .sql tiegħek ġo DumpCleaner (MySQL, MariaDB jew PostgreSQL). Jipparsja l-fajl bi streaming, għalhekk dump ta' bosta gigabytes jitgħabba b'memorja kostanti.
  2. Ibdel it-tipi ta' dikjarazzjonijiet li trid: CREATE TABLE, CREATE INDEX, INSERT INTO, ALTER, DROP, LOCK, SET. Neħħi l-marka ta' INSERT INTO u tikseb l-istruttura biss; neħħi l-marka ta' CREATE TABLE / CREATE INDEX u tikseb id-data biss.
  3. Jew agħżel preset — Struttura biss jew Data biss — biex tissettja kull toggle f'pass wieħed, imbagħad irfina għal kull tabella jekk trid.
  4. Esporta. Tikseb fajl tal-iskema mqatta' għal staging jew CI, jew dump data-biss nadif għas-seeding.

Peress li l-filtru huwa konxju tad-dikjarazzjonijiet, INSERT estiż b'diversi linji jinżamm jew jitwaqqa' bħala ħaġa waħda — qatt ma jinqata' min-nofs.

Il-qawwa reali hija li l-iffiltrar jaħdem skont it-tip ta' dikjarazzjoni u skont it-tabella, u t-tnejn jgħaqqdu. Tista' żżomm l-istruttura ta' kull tabella imma tinkludi d-data INSERT biss għat-tliet tabelli li verament teħtieġ — u tħalli t-tabella logs ta' 89-miljun ringiela bħala qoxra vojta. Dan huwa xi ħaġa li l-ebda flag --no-data ma jista' jesprimi.

Aqsam l-istruttura mid-data fi sekondi

DumpCleaner jiffiltra dump eżistenti skont it-tip ta' dikjarazzjoni u skont it-tabella — struttura biss, data biss, jew kwalunkwe taħlita — bi streaming, b'memorja kostanti. App nattiva għal macOS & iPadOS, xiri ta' darba.

Niżżel mill-App Store

Mistoqsijiet frekwenti

Nista' nesporta d-data bla l-iskema?

Iva. Iddiżattiva CREATE TABLE u CREATE INDEX (jew agħżel il-preset Data biss) u żomm INSERT INTO. DumpCleaner jesporta biss ir-ringieli, lesti biex jitgħabbew f'skema li diġà teżisti.

Esportazzjoni ta' struttura-biss iżżomm l-indiċi u l-foreign keys?

Iva. Struttura biss iżżomm CREATE TABLE, CREATE INDEX, ALTER TABLE u d-definizzjonijiet tal-foreign key — kollox li jiddefinixxi d-database. Biss ir-ringieli tad-data INSERT jitneħħew.

Nista' nħallat — struttura għat-tabelli kollha, data għal xi wħud?

Iva. L-iffiltrar huwa skont it-tip ta' dikjarazzjoni u skont it-tabella, u t-tnejn jgħaqqdu. Żomm l-istruttura ta' kull tabella imma inkludi d-data INSERT biss għall-ftit tabelli li verament teħtieġ.

Dan jaħdem b'PostgreSQL?

Iva. DumpCleaner jaqra dumps ta' MySQL, MariaDB u PostgreSQL u jinnota l-format awtomatikament, għalhekk l-esportazzjonijiet ta' struttura-biss u data-biss jaħdmu bl-istess mod għal fajls ta' pg_dump.

Skema bla d-data — jew data bla l-iskema

Iġbed, ibdel it-tipi ta' dikjarazzjonijiet, esporta. DumpCleaner jaqsam kwalunkwe dump fl-eżatt parti li teħtieġ.

Niżżel mill-App Store