Kesinti Olmadan Sütun Adı Değiştirme
Yeni sütun ekleyin, çift yazma yapın, geçmiş verileri doldurun, okumaları değiştirin ve eski sütunu kaldırın — kesintisiz ad değiştirmenin temel kalıbı.
Kesinti Olmadan Sütun Adı Değiştirme, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
Naif Yaklaşım İşe Yaramaz
ALTER TABLE t RENAME COLUMN a TO b; yalnızca üst veriyi değiştirir ve hızlıdır. ANCAK uygulama "a" sütununu bekler; yeniden adlandırmadan sonra "a" sütununu okuyan her sorgu bozulur.
Strateji: Genişlet → Taşı → Daralt
Kesintisiz çalışmayı sağlayan temel yöntem:
- Genişlet — eskisini kaldırmadan yeni sütunu ekleyin
- Uygulamanın bir süre her iki sütuna da yazmasını sağlayın
- Taşı — geçmiş verileri yeni sütuna toplu olarak doldurun
- Okuma işlemlerini yeni sütuna geçirin
- Daralt — eski sütunu kaldırın
Adım Adım: user_name → full_name Yeniden Adlandırması
Ayrıntılı uygulama:
1. Adım — Yeni Sütunu Ekleme
Çevrimiçi işlem (sabit varsayılan değerle PG 11 ve sonraki sürümlerde yalnızca üst veri değiştirilir):
ALTER TABLE users ADD COLUMN full_name VARCHAR(100);2. Adım — Çift Yazma
Her İKİ sütuna da yazan kodu yayımlayın:
// App writes to both:
UPDATE users SET user_name = $1, full_name = $1 WHERE id = $2;
INSERT INTO users (..., user_name, full_name) VALUES (..., $name, $name);3. Adım — Geçmiş Verileri Doldurma
Geçmiş verileri gruplar hâlinde kopyalayın:
UPDATE users SET full_name = user_name
WHERE full_name IS NULL
AND id IN (
SELECT id FROM users WHERE full_name IS NULL LIMIT 10000
);
-- Run in a loop until 0 rows affected.4. Adım — NOT NULL Ekleme (Çevrimiçi)
Geçmiş verileri doldurduktan sonra NOT NULL kısıtını güvenle uygulayın:
ALTER TABLE users
ADD CONSTRAINT fn_not_null CHECK (full_name IS NOT NULL) NOT VALID;
ALTER TABLE users VALIDATE CONSTRAINT fn_not_null;
ALTER TABLE users ALTER COLUMN full_name SET NOT NULL;
ALTER TABLE users DROP CONSTRAINT fn_not_null;5. Adım — Okumaları Geçirme
user_name yerine full_name okuyan kodu yayımlayın.
6. Adım — Çift Yazmayı Durdurma
Yalnızca full_name sütununa yazan kodu yayımlayın.
7. Adım — Eski Sütunu Kaldırma
Çevrimiçi işlem (yalnızca üst veri değiştirilir):
ALTER TABLE users DROP COLUMN user_name;Ödünleşim: Süre ve Karmaşıklık
Basit bir yeniden adlandırma, günler veya haftalar boyunca 4–7 dağıtıma dönüşür. Önemsiz olmayan üretim sistemleri için bu, güvenli olan tek yoldur.
Tabloları Yeniden Adlandırma
Benzer bir yöntemdir, ancak daha zordur. Geçici bir takma ad olarak VIEW kullanın:
ALTER TABLE old_name RENAME TO new_name;
CREATE VIEW old_name AS SELECT * FROM new_name;
-- Deploy new code. Then drop the view.Özet
Kesintisiz sütun yeniden adlandırmaları genişlet → taşı → daralt adımlarını izler.
- Yeni sütunu ekleyin
- Çift yazma yapın
- Geçmiş verileri gruplar hâlinde doldurun
- Okumaları geçirin
- Eski yazmaları durdurun
- Eski sütunu kaldırın
Hızlı Kontrol
Hem eski hem de yeni sütunlara çift yazmayı yayımladıktan hemen sonra hangi aşama gelir?
Sıkça Sorulan Sorular
“Kesinti Olmadan Sütun Adı Değiştirme” dersi ücretsiz mi?
Evet — “Kesinti Olmadan Sütun Adı Değiştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“Kesinti Olmadan Sütun Adı Değiştirme” dersinde ne öğreneceğim?
Yeni sütun ekleyin, çift yazma yapın, geçmiş verileri doldurun, okumaları değiştirin ve eski sütunu kaldırın — kesintisiz ad değiştirmenin temel kalıbı. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Kesinti Olmadan Sütun Adı Değiştirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Çevrimiçi Geçişler: ALTER TABLE Neden Kilitler
- Eşzamanlı INDEX'ler (CREATE INDEX CONCURRENTLY)
- Kesinti Olmadan Sütun Adı Değiştirme
- Araçlar: Flyway, Liquibase, Sqitch