{"id":8858,"date":"2025-01-07T05:45:10","date_gmt":"2025-01-07T02:45:10","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/"},"modified":"2025-01-07T05:45:10","modified_gmt":"2025-01-07T02:45:10","slug":"sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/","title":{"rendered":"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m"},"content":{"rendered":"<p>Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m<\/p>\n<p>Sequelize, Node.js uygulamalar\u0131n\u0131zda veritaban\u0131 i\u015flemlerini kolayla\u015ft\u0131ran g\u00fc\u00e7l\u00fc bir ORM (Object-Relational Mapper) k\u00fct\u00fcphanesidir.  Bu makalede, Sequelize migrations kullanarak veritaban\u0131n\u0131za yeni bir s\u00fctun ekleme ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z.  \u00d6ncelikle, migrations&#8217;\u0131n ne oldu\u011funu ve neden kullan\u0131lmas\u0131 gerekti\u011fini anlamak \u00f6nemlidir.  Migrations, veritaban\u0131 \u015feman\u0131zdaki de\u011fi\u015fiklikleri izlemek ve y\u00f6netmek i\u00e7in kullan\u0131lan s\u00fcr\u00fcm kontroll\u00fc bir yakla\u015f\u0131md\u0131r. Bu sayede, de\u011fi\u015fiklikleri geri almak veya farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) tutarl\u0131 bir veritaban\u0131 yap\u0131s\u0131 sa\u011flamak m\u00fcmk\u00fcn olur.  K\u0131sacas\u0131, migrations geli\u015ftirme s\u00fcrecinizi daha g\u00fcvenilir ve y\u00f6netilebilir hale getirir.<\/p>\n<h2>Gerekli Kurulumlar<\/h2>\n<p>Ba\u015flamadan \u00f6nce, projenizde Sequelize ve gerekli veritaban\u0131 s\u00fcr\u00fcc\u00fcs\u00fcn\u00fcn kurulu oldu\u011fundan emin olun.  \u00d6rne\u011fin, PostgreSQL kullan\u0131yorsan\u0131z,  <code>npm install sequelize pg pg-hstore<\/code> komutunu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekecektir.  Veritaban\u0131 ba\u011flant\u0131 bilgilerinizi de do\u011fru bir \u015fekilde yap\u0131land\u0131rman\u0131z \u00f6nemlidir.  Bu bilgiler genellikle bir konfig\u00fcrasyon dosyas\u0131nda (\u00f6rne\u011fin, <code>config\/config.json<\/code>) saklan\u0131r.<\/p>\n<h2>Yeni Bir Migration Olu\u015fturma<\/h2>\n<p>Sequelize, yeni migrations olu\u015fturmak i\u00e7in komut sat\u0131r\u0131 arac\u0131 sa\u011flar.  Projenizin k\u00f6k dizininde a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak yeni bir migration dosyas\u0131 olu\u015fturabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">npx sequelize-cli migration:generate --name add-column-to-users<\/code><\/pre>\n<p>Bu komut, <code>migrations<\/code> dizininizde  <code>add-column-to-users.js<\/code> ad\u0131nda bir dosya olu\u015fturacakt\u0131r.  Bu dosya, yeni s\u00fctunun eklenmesi i\u00e7in gerekli kodlar\u0131 i\u00e7erecektir.<\/p>\n<h2>Migration Dosyas\u0131n\u0131n D\u00fczenlenmesi<\/h2>\n<p>Olu\u015fturulan migration dosyas\u0131n\u0131 a\u00e7arak,  <code>up<\/code> ve <code>down<\/code> fonksiyonlar\u0131n\u0131 d\u00fczenleyece\u011fiz.  <code>up<\/code> fonksiyonu, veritaban\u0131na yeni s\u00fctunu eklemek i\u00e7in kullan\u0131lan kodlar\u0131, <code>down<\/code> fonksiyonu ise s\u00fctunu silmek i\u00e7in kullan\u0131lan kodlar\u0131 i\u00e7erir.  \u00d6rne\u011fin, <code>users<\/code> tablosuna  <code>age<\/code> ad\u0131nda bir integer tipi s\u00fctun eklemek i\u00e7in a\u015fa\u011f\u0131daki kodlar\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-javascript\">\n'use strict';\nmodule.exports = {\n  async up(queryInterface, Sequelize) {\n    await queryInterface.addColumn('Users', 'age', {\n      type: Sequelize.INTEGER,\n      allowNull: true, \/\/ Null de\u011ferlere izin verilip verilmeyece\u011fini belirler.\n    });\n  },\n  async down(queryInterface, Sequelize) {\n    await queryInterface.removeColumn('Users', 'age');\n  },\n};\n<\/code><\/pre>\n<p>Bu kodda, <code>queryInterface.addColumn<\/code> fonksiyonu yeni s\u00fctunu ekler.  <code>allowNull: true<\/code> parametresi, s\u00fctunun bo\u015f b\u0131rak\u0131lmas\u0131na izin verip vermedi\u011fini belirler.  <code>down<\/code> fonksiyonunda ise <code>queryInterface.removeColumn<\/code> fonksiyonu ile s\u00fctun silinir.  Bu, migration&#8217;\u0131 geri alma i\u015flemini sa\u011flar.<\/p>\n<h2>Migration&#8217;\u0131 Uygulama<\/h2>\n<p>Migration dosyas\u0131n\u0131 d\u00fczenledikten sonra, a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak de\u011fi\u015fiklikleri veritaban\u0131n\u0131za uygulayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">npx sequelize-cli db:migrate<\/code><\/pre>\n<p>Bu komut, olu\u015fturdu\u011funuz migration dosyas\u0131ndaki <code>up<\/code> fonksiyonunu \u00e7al\u0131\u015ft\u0131rarak veritaban\u0131n\u0131za yeni s\u00fctunu ekleyecektir.  E\u011fer bir hata olu\u015fursa,  <code>down<\/code> fonksiyonu otomatik olarak \u00e7al\u0131\u015ft\u0131r\u0131larak de\u011fi\u015fiklikler geri al\u0131n\u0131r. Bu, hata y\u00f6netimi a\u00e7\u0131s\u0131ndan olduk\u00e7a \u00f6nemlidir.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makalede, Sequelize migrations kullanarak yeni bir s\u00fctun ekleme ad\u0131mlar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klad\u0131k.  Migrations, veritaban\u0131 \u015feman\u0131z\u0131 y\u00f6netmek i\u00e7in d\u00fczenli ve g\u00fcvenli bir y\u00f6ntem sunar.  Bu yakla\u015f\u0131m\u0131 kullanarak,  veritaban\u0131 de\u011fi\u015fikliklerini izleyebilir, geri alabilirsiniz ve farkl\u0131 ortamlar aras\u0131nda tutarl\u0131l\u0131k sa\u011flayabilirsiniz.  Daha fazla bilgi i\u00e7in <a href=\"https:\/\/sequelize.org\/\">Sequelize resmi dok\u00fcmanlar\u0131na<\/a> g\u00f6z atabilirsiniz.  Ayr\u0131ca, Node.js ve Sequelize ile ilgili daha fazla i\u00e7eri\u011fe <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> adresinden ula\u015fabilirsiniz.<\/p>\n<p>#Etiketler: Sequelize, Migrations, Veritaban\u0131, Yeni S\u00fctun, Node.js, ORM,  Veritaban\u0131 G\u00f6\u00e7leri,  Sequelize Migrations \u00d6rne\u011fi,  Javascript,  Veritaban\u0131 Y\u00f6netimi<\/p>\n","protected":false},"excerpt":{"rendered":"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m Sequelize, Node.js uygulamalar\u0131n\u0131zda veritaban\u0131 i\u015flemlerini kolayla\u015ft\u0131ran g\u00fc\u00e7l\u00fc bir ORM&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-8858","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m<\/title>\n<meta name=\"description\" content=\"Sequelize, Node.js uygulamalar\u0131n\u0131zda veritaban\u0131 i\u015flemlerini kolayla\u015ft\u0131ran g\u00fc\u00e7l\u00fc bir ORM (Object-Relational Mapper) k\u00fct\u00fcphanesidir. Bu makalede, Sequelize migrations kullanarak veritaban\u0131n\u0131za yeni bir s\u00fctun ekleme ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. \u00d6ncelikle, migrations&#039;\u0131n ne oldu\u011funu ve neden kullan\u0131lmas\u0131 gerekti\u011fini anlamak \u00f6nemlidir. Migrations, veritaban\u0131 \u015feman\u0131zdaki de\u011fi\u015fiklikleri izlemek ve y\u00f6netmek i\u00e7in kullan\u0131lan s\u00fcr\u00fcm kontroll\u00fc bir yakla\u015f\u0131md\u0131r. Bu sayede, de\u011fi\u015fiklikleri geri almak veya farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) tutarl\u0131 bir veritaban\u0131 yap\u0131s\u0131 sa\u011flamak m\u00fcmk\u00fcn olur. K\u0131sacas\u0131, migrations geli\u015ftirme s\u00fcrecinizi daha g\u00fcvenilir ve y\u00f6netilebilir hale getirir.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m\" \/>\n<meta property=\"og:description\" content=\"Sequelize, Node.js uygulamalar\u0131n\u0131zda veritaban\u0131 i\u015flemlerini kolayla\u015ft\u0131ran g\u00fc\u00e7l\u00fc bir ORM (Object-Relational Mapper) k\u00fct\u00fcphanesidir. Bu makalede, Sequelize migrations kullanarak veritaban\u0131n\u0131za yeni bir s\u00fctun ekleme ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. \u00d6ncelikle, migrations&#039;\u0131n ne oldu\u011funu ve neden kullan\u0131lmas\u0131 gerekti\u011fini anlamak \u00f6nemlidir. Migrations, veritaban\u0131 \u015feman\u0131zdaki de\u011fi\u015fiklikleri izlemek ve y\u00f6netmek i\u00e7in kullan\u0131lan s\u00fcr\u00fcm kontroll\u00fc bir yakla\u015f\u0131md\u0131r. Bu sayede, de\u011fi\u015fiklikleri geri almak veya farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) tutarl\u0131 bir veritaban\u0131 yap\u0131s\u0131 sa\u011flamak m\u00fcmk\u00fcn olur. K\u0131sacas\u0131, migrations geli\u015ftirme s\u00fcrecinizi daha g\u00fcvenilir ve y\u00f6netilebilir hale getirir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-07T02:45:10+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m\",\"datePublished\":\"2025-01-07T02:45:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/\"},\"wordCount\":540,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/\",\"name\":\"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-01-07T02:45:10+00:00\",\"description\":\"Sequelize, Node.js uygulamalar\u0131n\u0131zda veritaban\u0131 i\u015flemlerini kolayla\u015ft\u0131ran g\u00fc\u00e7l\u00fc bir ORM (Object-Relational Mapper) k\u00fct\u00fcphanesidir. Bu makalede, Sequelize migrations kullanarak veritaban\u0131n\u0131za yeni bir s\u00fctun ekleme ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. \u00d6ncelikle, migrations'\u0131n ne oldu\u011funu ve neden kullan\u0131lmas\u0131 gerekti\u011fini anlamak \u00f6nemlidir. Migrations, veritaban\u0131 \u015feman\u0131zdaki de\u011fi\u015fiklikleri izlemek ve y\u00f6netmek i\u00e7in kullan\u0131lan s\u00fcr\u00fcm kontroll\u00fc bir yakla\u015f\u0131md\u0131r. Bu sayede, de\u011fi\u015fiklikleri geri almak veya farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) tutarl\u0131 bir veritaban\u0131 yap\u0131s\u0131 sa\u011flamak m\u00fcmk\u00fcn olur. K\u0131sacas\u0131, migrations geli\u015ftirme s\u00fcrecinizi daha g\u00fcvenilir ve y\u00f6netilebilir hale getirir.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m","description":"Sequelize, Node.js uygulamalar\u0131n\u0131zda veritaban\u0131 i\u015flemlerini kolayla\u015ft\u0131ran g\u00fc\u00e7l\u00fc bir ORM (Object-Relational Mapper) k\u00fct\u00fcphanesidir. Bu makalede, Sequelize migrations kullanarak veritaban\u0131n\u0131za yeni bir s\u00fctun ekleme ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. \u00d6ncelikle, migrations'\u0131n ne oldu\u011funu ve neden kullan\u0131lmas\u0131 gerekti\u011fini anlamak \u00f6nemlidir. Migrations, veritaban\u0131 \u015feman\u0131zdaki de\u011fi\u015fiklikleri izlemek ve y\u00f6netmek i\u00e7in kullan\u0131lan s\u00fcr\u00fcm kontroll\u00fc bir yakla\u015f\u0131md\u0131r. Bu sayede, de\u011fi\u015fiklikleri geri almak veya farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) tutarl\u0131 bir veritaban\u0131 yap\u0131s\u0131 sa\u011flamak m\u00fcmk\u00fcn olur. K\u0131sacas\u0131, migrations geli\u015ftirme s\u00fcrecinizi daha g\u00fcvenilir ve y\u00f6netilebilir hale getirir.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/","og_locale":"tr_TR","og_type":"article","og_title":"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m","og_description":"Sequelize, Node.js uygulamalar\u0131n\u0131zda veritaban\u0131 i\u015flemlerini kolayla\u015ft\u0131ran g\u00fc\u00e7l\u00fc bir ORM (Object-Relational Mapper) k\u00fct\u00fcphanesidir. Bu makalede, Sequelize migrations kullanarak veritaban\u0131n\u0131za yeni bir s\u00fctun ekleme ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. \u00d6ncelikle, migrations'\u0131n ne oldu\u011funu ve neden kullan\u0131lmas\u0131 gerekti\u011fini anlamak \u00f6nemlidir. Migrations, veritaban\u0131 \u015feman\u0131zdaki de\u011fi\u015fiklikleri izlemek ve y\u00f6netmek i\u00e7in kullan\u0131lan s\u00fcr\u00fcm kontroll\u00fc bir yakla\u015f\u0131md\u0131r. Bu sayede, de\u011fi\u015fiklikleri geri almak veya farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) tutarl\u0131 bir veritaban\u0131 yap\u0131s\u0131 sa\u011flamak m\u00fcmk\u00fcn olur. K\u0131sacas\u0131, migrations geli\u015ftirme s\u00fcrecinizi daha g\u00fcvenilir ve y\u00f6netilebilir hale getirir.","og_url":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-01-07T02:45:10+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m","datePublished":"2025-01-07T02:45:10+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/"},"wordCount":540,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/","url":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/","name":"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-01-07T02:45:10+00:00","description":"Sequelize, Node.js uygulamalar\u0131n\u0131zda veritaban\u0131 i\u015flemlerini kolayla\u015ft\u0131ran g\u00fc\u00e7l\u00fc bir ORM (Object-Relational Mapper) k\u00fct\u00fcphanesidir. Bu makalede, Sequelize migrations kullanarak veritaban\u0131n\u0131za yeni bir s\u00fctun ekleme ad\u0131mlar\u0131n\u0131 detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. \u00d6ncelikle, migrations'\u0131n ne oldu\u011funu ve neden kullan\u0131lmas\u0131 gerekti\u011fini anlamak \u00f6nemlidir. Migrations, veritaban\u0131 \u015feman\u0131zdaki de\u011fi\u015fiklikleri izlemek ve y\u00f6netmek i\u00e7in kullan\u0131lan s\u00fcr\u00fcm kontroll\u00fc bir yakla\u015f\u0131md\u0131r. Bu sayede, de\u011fi\u015fiklikleri geri almak veya farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) tutarl\u0131 bir veritaban\u0131 yap\u0131s\u0131 sa\u011flamak m\u00fcmk\u00fcn olur. K\u0131sacas\u0131, migrations geli\u015ftirme s\u00fcrecinizi daha g\u00fcvenilir ve y\u00f6netilebilir hale getirir.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/sequelize-migrations-ile-yeni-sutun-ekleme-adim-adim-anlatim\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Sequelize Migrations ile Yeni S\u00fctun Ekleme: Ad\u0131m Ad\u0131m Anlat\u0131m"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/8858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=8858"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/8858\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=8858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=8858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=8858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}