Easpórtáil an scéimre (struchtúr) amháin as dumpa SQL

Tá dumpa iomlán ar an diosca agat, ach níl uait ach an struchtúr — CREATE TABLE, innéacsanna, eochracha eachtracha — gan na táblaí logála 89 milliún ró. Nó a mhalairt: na sonraí amháin, gan ráitis CREATE. Seo cén fáth nach gcabhraíonn na gnáthbhratacha dumpála le comhad reatha, agus conas struchtúr a scaradh ó shonraí le cliceáil amháin.

Bíonn trí chás ag teacht aníos arís agus arís eile:

Cén fáth nach leor mysqldump --no-data

Is é an chomhairle chlasaiceach mysqldump --no-data (struchtúr amháin) nó mysqldump --no-create-info (sonraí amháin). Is bratacha easpórtála iad araon: athraíonn siad cad atá i ndumpa úr ó bhunachar sonraí atá ag rith. Ní dhéanann siad rud ar bith do dhumpa atá agat cheana ina shuí ar an diosca mar chomhad .sql.

Go praiticiúil, is minic a thagann an comhad ó dhuine eile, nó ó jab cúltaca, nó ó fhreastalaí nach bhfuil rochtain bheo agat air a thuilleadh. Ní féidir leat mysqldump a atrialladh i gcoinne bunachar sonraí nach bhfuil insroichte — tá na dintiúir imithe, tá an freastalaí díchoimisiúnaithe, nó is é an comhad go simplí an t-aon rud a tugadh duit. Ag an bpointe sin tá na bratacha gan úsáid, agus fágtar tú ag cur an chomhaid féin in eagar.

An bealach de láimh

Is é an bogadh soiléir línte a bhaint le grepsed. Chun an struchtúr a choinneáil agus na sonraí a ligean:

# coinnigh gach rud ach amháin rónna INSERT
grep -v '^INSERT INTO' dump.sql > schema.sql

# nó coinnigh na rónna INSERT amháin do chomhad sonraí-amháin
grep '^INSERT INTO' dump.sql > data.sql

Breathnaíonn sé seo ceart go leor ar dhumpa beag néata — agus ansin briseann sé ar cheann fíor:

Críochnaíonn tú ag dífhabhtú do scagaire féin in ionad do scéimre a fháil.

Struchtúr-amháin nó sonraí-amháin le DumpCleaner

Tuigeann DumpCleaner ráitis SQL in ionad línte a mheaitseáil, mar sin scarann sé struchtúr ó shonraí go hiontaofa — ar chomhaid ar bith méide:

  1. Tarraing do dhumpa .sql isteach in DumpCleaner (MySQL, MariaDB nó PostgreSQL). Parsálann sé an comhad trí shruthú, mar sin lódálann dumpa il-gigighbeart le cuimhne chothrom.
  2. Scoránaigh na cineálacha ráitis a theastaíonn uait: CREATE TABLE, CREATE INDEX, INSERT INTO, ALTER, DROP, LOCK, SET. Díthiceáil INSERT INTO agus faigheann tú struchtúr amháin; díthiceáil CREATE TABLE / CREATE INDEX agus faigheann tú sonraí amháin.
  3. Nó roghnaigh réamhshocrú — Struchtúr amháinSonraí amháin — chun gach scoránaí a shocrú in aon chéim amháin, ansin mionathraigh de réir tábla más mian leat.
  4. Easpórtáil. Faigheann tú comhad scéimre lom le haghaidh stáitsithe nó CI, nó dumpa glan sonraí-amháin le síolú.

Toisc go bhfuil an scagaire ráiteas-eolach, coinnítear nó ligtear INSERT sínte il-líne ina iomláine — ní ghearrtar riamh sa lár é.

Is é an fíorchumhacht ná go n-oibríonn an scagadh de réir cineáil ráitis agus de réir tábla, agus go gcomhcheanglaíonn an dá cheann. Is féidir leat struchtúr gach tábla a choinneáil ach sonraí INSERT a chur san áireamh do na trí thábla a theastaíonn uait i ndáiríre amháin — ag fágáil an tábla logs 89 milliún ró mar bhlaosc folamh. Sin rud nach féidir le bratach --no-data ar bith a chur in iúl.

Scar struchtúr ó shonraí i soicindí

Scagann DumpCleaner dumpa reatha de réir cineáil ráitis agus de réir tábla — struchtúr amháin, sonraí amháin, nó meascán ar bith — sruthú, le cuimhne chothrom. Aip dhúchasach macOS & iPadOS, ceannach aon uaire.

Íoslódáil ón App Store

Ceisteanna coitianta

An féidir liom na sonraí a easpórtáil gan an scéimre?

Is féidir. Díchumasaigh CREATE TABLE agus CREATE INDEX (nó roghnaigh an réamhshocrú Sonraí amháin) agus coinnigh INSERT INTO. Easpórtálann DumpCleaner na rónna amháin, réidh le lódáil isteach i scéimre atá ann cheana.

An gcoinníonn easpórtáil struchtúr-amháin innéacsanna agus eochracha eachtracha?

Coinníonn. Coinníonn struchtúr amháin CREATE TABLE, CREATE INDEX, ALTER TABLE agus na sainmhínithe eochrach eachtraí — gach rud a shainíonn an bunachar sonraí. Ní bhaintear ach na rónna sonraí INSERT.

An féidir liom meascán — struchtúr do gach tábla, sonraí do chuid acu?

Is féidir. Tá an scagadh de réir cineáil ráitis agus de réir tábla, agus comhcheanglaíonn an dá cheann. Coinnigh struchtúr gach tábla ach cuir sonraí INSERT san áireamh do na cúpla tábla a theastaíonn uait i ndáiríre amháin.

An oibríonn sé seo le PostgreSQL?

Oibríonn. Léann DumpCleaner dumpaí MySQL, MariaDB agus PostgreSQL agus braitheann sé an fhormáid go huathoibríoch, mar sin oibríonn easpórtálacha struchtúr-amháin agus sonraí-amháin ar an mbealach céanna do chomhaid pg_dump.

Scéimre gan na sonraí — nó sonraí gan an scéimre

Tarraing, scoránaigh na cineálacha ráitis, easpórtáil. Roinneann DumpCleaner dumpa ar bith isteach sa chuid a theastaíonn uait go díreach.

Íoslódáil ón App Store