AI ફોર્મેટ રૂપાંતર (CSV ↔ JSON ↔ SQL) અને માઇગ્રેશન સ્ક્રિપ્ટ્સ માટે સારી રીતે અનુકૂળ છે કારણ કે પરિવર્તન નિયમો યાંત્રિક છે. યુક્તિ તેને સાચા અને સુરક્ષિત હોવા માટે પૂરતો સંદર્ભ આપવાની છે: સ્કીમા, નમૂનો પંક્તિ અને સ્પષ્ટ સુરક્ષા આવશ્યકતાઓ.
તેને કેવી રીતે પૂછવું
- સ્રોત અને લક્ષ્ય સ્કીમા આપો — કૉલમ નામ, પ્રકાર, શૂન્યતા.
- વાસ્તવિક નમૂનો પંક્તિ સમાવેશ કરો જેથી તે વાસ્તવિક આકાર અને કિનારે કેસ (અવતરણ, શૂન્ય, તારીખો) જોવે.
- તેને idempotent અને માન્ય કરવાની માંગ કરો — ફરી ચલાવવાથી ડુપ્લિકેટ અથવા ભ્રષ્ટ ડેટા નહીં થવો જોઈએ; ખરાબ પંક્તિઓ પકડવી જોઈએ, خاموশی से શામેલ નહીં.
- હંમેશા ડેટાની કॉपी પર ડ્રાય-રન કરો ઉત્પાદનને સ્પર્શ કરતા પહેલા. પ્રથમ આউટપુટ તપાસો.
ઉદાહરણ: CSV → SQL આવેશ
import csv
# Source CSV: id,email,signup_date (signup_date may be blank)
# Target table: users(id INT, email TEXT NOT NULL, signup_date DATE NULL)
def csv_to_sql(path: str) -> list[str]:
statements = []
with open(path, newline="", encoding="utf-8") as f:
for row in csv.DictReader(f):
email = row["email"].strip()
if not email: # validate: skip invalid rows, don't insert garbage
continue
date = row["signup_date"].strip() or None
email_sql = email.replace("'", "''") # escape quotes to avoid broken SQL / injection
date_sql = f"'{date}'" if date else "NULL"
# ON CONFLICT makes it idempotent: re-running won't create duplicates
statements.append(
f"INSERT INTO users (id, email, signup_date) "
f"VALUES ({int(row['id'])}, '{email_sql}', {date_sql}) "
f"ON CONFLICT (id) DO NOTHING;"
)
return statements
ટિપ્પણીઓ અગત્યના ભાગોને ચિહ્નિત કરે છે: માન્યતા (ખાલી ઇમેલ્સ છોડો), એસ્કેપિંગ (અવતરણ) અને idempotency (ON CONFLICT DO NOTHING). AI ને આ ત્રણેય શામેલ કરવાનું કહો — તે તે વસ્તુઓ છે જે સાદો સ્ક્રિપ્ટ ભૂલે છે.
તે શા માટે મહત્વપૂર્ણ છે
ડેટા માઇગ્રેશન ઉચ્ચ જોખમ અને ઘણીવાર એક-બીજું છે: એક સ્ક્રિપ્ટ જે ડબલ-શામેલ કરે અથવા પંક્તિઓ ફોલવે તે પાછું કરવા માટે મોંઘું હોઇ શકે છે. AI રૂપાંતર લખવા તરફ તત્પરતા કરે છે, પરંતુ સુરક્ષા ગુણધર્મો — idempotency, માન્યતા અને કॉપી પર ડ્રાય-રન — અનિવાર્ય છે. જનરેટ કરેલ સ્ક્રિપ્ટને એક ડ્રાફ્ટ તરીકે ગણો જે તમારે વાંચવું અને પરીક્ષણ કરવું જોઈએ, ક્યારેય તે નહીં જે વાસ્તવિક ડેટા વિરુદ્ધ અંધોજ ચલાવવું જોઈએ.
