AI فارمیٹ تبدیلیوں (CSV ↔ JSON ↔ SQL) اور migration scripts کے لیے بہترین ہے کیونکہ تبدیلی کے اصول مکینیکل ہیں۔ ترکیب یہ ہے کہ اسے صحیح اور محفوظ ہونے کے لیے کافی context دیں: schemas، ایک نمونہ row، اور واضح حفاظتی ضروریات۔
AI فارمیٹ تبدیلیوں (CSV ↔ JSON ↔ SQL) اور migration scripts کے لیے بہترین ہے کیونکہ تبدیلی کے اصول مکینیکل ہیں۔ ترکیب یہ ہے کہ اسے صحیح اور محفوظ ہونے کے لیے کافی context دیں: schemas، ایک نمونہ row، اور واضح حفاظتی ضروریات۔
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
تبصرے وہ حصے نشان زد کرتے ہیں جو اہم ہیں: validation (خالی emails کو skip کریں)، escaping (quotes)، اور idempotency (ON CONFLICT DO NOTHING)۔ AI سے کہیں کہ تینوں کو شامل کرے — یہ وہ چیزیں ہیں جو ایک سادہ script بھول جاتا ہے۔
ڈیٹا migrations اعلیٰ داؤ پر ہوتی ہیں اور اکثر ایک بار کی ہوتی ہیں: ایک script جو double-insert کرے یا rows کو drop کرے expensive ہو سکتا ہے undo کرنا۔ AI تبدیلی لکھنے میں تیزی لاتا ہے، لیکن حفاظتی خصوصیات — idempotency، validation، اور ایک copy پر dry-run — غیر قابل تنازع ہیں۔ generated script کو ایک draft کے طور پر دیکھیں جسے آپ کو پڑھنا اور test کرنا لازمی ہے، کبھی بھی حقیقی ڈیٹا کے خلاف blind نہ چلائیں۔