{"id":843,"date":"2023-11-21T18:31:17","date_gmt":"2023-11-21T13:01:17","guid":{"rendered":"https:\/\/magecurious.com\/blog\/?p=843"},"modified":"2025-01-10T18:07:50","modified_gmt":"2025-01-10T12:37:50","slug":"create-new-table-using-declarative-schema-in-magento-2","status":"publish","type":"post","link":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/","title":{"rendered":"Create New Table using Declarative Schema in Magento 2"},"content":{"rendered":"\n<p>Hello Everyone,<\/p>\n\n\n\n<p>In this blog, we will learn about how to Create a New Table using Declarative Schema in Magento 2.<\/p>\n\n\n\n<p>Magento introduced a new feature from version 2.3 that is the Declarative Schema feature. We can create a new database table using the db_schema.xml file.<\/p>\n\n\n\n<p>Without wasting your time, let us guide you straight away. Follow the easy step given below to Create a New Table using Declarative Schema in Magento 2.<\/p>\n\n\n\n<p><strong>STEPS FOR CREATE TABLE USING DECLARATIVE SCHEMA IN MAGENTO 2<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: php; title: ; notranslate\" title=\"\">\nStep 1: Create db_schema.xml file\n\napp\/code\/Vendor\/Extension\/etc\/db_schema.xml\n\n&lt;?xml version=&quot;1.0&quot;?&gt;\n&lt;schema xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;\n     xsi:noNamespaceSchemaLocation=&quot;urn:magento:framework:Setup\/Declaration\/Schema\/etc\/schema.xsd&quot;&gt;\n&lt;table name=&quot;magecurious_custom_table&quot; resource=&quot;default&quot; engine=&quot;innodb&quot; comment=&quot;Magecurious Custom Table&quot;&gt;\n    &lt;column xsi:type=&quot;int&quot; name=&quot;id&quot; unsigned=&quot;true&quot; nullable=&quot;false&quot; identity=&quot;true&quot; comment=&quot;ID&quot;\/&gt;\n    &lt;column xsi:type=&quot;varchar&quot; name=&quot;book_name&quot; comment=&quot;BookName&quot; nullable=&quot;false&quot;\/&gt;\n    &lt;column xsi:type=&quot;varchar&quot; name=&quot;book_description&quot; comment=&quot;BookDescription&quot; nullable=&quot;false&quot;\/&gt;\n    &lt;column xsi:type=&quot;varchar&quot; name=&quot;author_name&quot; comment=&quot;Author Name&quot; nullable=&quot;false&quot; \/&gt;\n     &lt;column xsi:type=&quot;timestamp&quot; name=&quot;created_at&quot; on_update=&quot;false&quot; nullable=&quot;false&quot; default=&quot;CURRENT_TIMESTAMP&quot; comment=&quot;CreatedAt&quot;\/&gt;\n    &lt;column xsi:type=&quot;timestamp&quot; name=&quot;updated_at&quot; on_update=&quot;true&quot; nullable=&quot;false&quot; default=&quot;CURRENT_TIMESTAMP&quot; comment=&quot;UpdatedAt&quot;\/&gt;\n    &lt;constraint xsi:type=&quot;primary&quot; referenceId=&quot;PRIMARY&quot;&gt;\n        &lt;column name=&quot;id&quot;\/&gt;\n    &lt;\/constraint&gt;\n&lt;\/table&gt;\n&lt;\/schema&gt;\n\nStep 2: Create db_schema_whitelist.json file\n\nThis file provides history about all tables, columns. It also tells Magento to safely alter the table.\n\nYou can run below command to generate db_schema_whitelist.json file\n\nphp bin\/magento setup:db-declaration:generate-whitelist --module-name=Vendor_Extension\n\nStep 3: Finally run the below commands\n\n$ php bin\/magento setup:upgrade\n\n<\/pre><\/div>\n\n\n<p><strong>Step 4: Output<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"856\" src=\"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/image-2.png\" alt=\"\" class=\"wp-image-858\" srcset=\"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/image-2.png 1600w, https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/image-2-300x161.png 300w, https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/image-2-1024x548.png 1024w, https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/image-2-768x411.png 768w, https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/image-2-1536x822.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p><strong>Final Thoughts:<\/strong><\/p>\n\n\n\n<p>So this was the easiest way which we have told you in this blog. This is how you can Create tables using DB Schema in Magento 2. Hope you liked the blog.<\/p>\n\n\n\n<p>So quickly go to the comment box and tell me how you like this blog?<\/p>\n\n\n\n<p><strong>Stay tuned with us on our site to get new updates of Magento.<\/strong><\/p>\n\n\n\n<p>Thanks for reading and visiting our site.<\/p>\n\n\n<!-- FeedbackWP Plugin --><div  class=\"rmp-widgets-container rmp-wp-plugin rmp-main-container js-rmp-widgets-container js-rmp-widgets-container--843 \"  data-post-id=\"843\">    <!-- Rating widget -->  <div class=\"rmp-rating-widget js-rmp-rating-widget\">          <p class=\"rmp-heading rmp-heading--title\">        How useful was this post?      <\/p>              <p class=\"rmp-heading rmp-heading--subtitle\">        Click on a star to rate it!      <\/p>        <div class=\"rmp-rating-widget__icons\">      <ul class=\"rmp-rating-widget__icons-list js-rmp-rating-icons-list\">                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Not at all useful\" data-value=\"1\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star rmp-icon--full-highlight\"><\/i>          <\/li>                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Somewhat useful\" data-value=\"2\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star rmp-icon--full-highlight\"><\/i>          <\/li>                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Useful\" data-value=\"3\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star rmp-icon--full-highlight\"><\/i>          <\/li>                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Fairly useful\" data-value=\"4\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star rmp-icon--full-highlight\"><\/i>          <\/li>                  <li class=\"rmp-rating-widget__icons-list__icon js-rmp-rating-item\" data-descriptive-rating=\"Very useful\" data-value=\"5\">              <i class=\"js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star rmp-icon--full-highlight\"><\/i>          <\/li>              <\/ul>    <\/div>    <p class=\"rmp-rating-widget__hover-text js-rmp-hover-text\"><\/p>        <button class=\"rmp-rating-widget__submit-btn rmp-btn js-submit-rating-btn\">      Submit Rating    <\/button>    <p class=\"rmp-rating-widget__results js-rmp-results \">      Average rating <span class=\"rmp-rating-widget__results__rating js-rmp-avg-rating\">5<\/span> \/ 5. Vote count: <span class=\"rmp-rating-widget__results__votes js-rmp-vote-count\">1<\/span>    <\/p>    <p class=\"rmp-rating-widget__not-rated js-rmp-not-rated rmp-rating-widget__not-rated--hidden\">      No votes so far! Be the first to rate this post.    <\/p>    <p class=\"rmp-rating-widget__msg js-rmp-msg\"><\/p>  <\/div>  <!--Structured data -->        <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hello Everyone, In this blog, we will learn about how to Create a New Table using Declarative Schema in Magento 2. Magento introduced a new feature from version 2.3 that is the Declarative Schema feature. We can create a new database table using the db_schema.xml file. Without wasting your time, let us guide you straight [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":853,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-843","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-magento-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Create New Table Using Declarative Schema in Magento 2<\/title>\n<meta name=\"description\" content=\"create a new table using declarative schema in Magento 2 with our comprehensive guide. Simplify database management in Magento efficiently.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create New Table Using Declarative Schema in Magento 2\" \/>\n<meta property=\"og:description\" content=\"create a new table using declarative schema in Magento 2 with our comprehensive guide. Simplify database management in Magento efficiently.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Magecurious\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-21T13:01:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-10T12:37:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/How-to-create-a-Table-using-Declarative-Schema.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1260\" \/>\n\t<meta property=\"og:image:height\" content=\"496\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Magecurious\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Magecurious\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Create New Table Using Declarative Schema in Magento 2","description":"create a new table using declarative schema in Magento 2 with our comprehensive guide. Simplify database management in Magento efficiently.","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:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/","og_locale":"en_US","og_type":"article","og_title":"How to Create New Table Using Declarative Schema in Magento 2","og_description":"create a new table using declarative schema in Magento 2 with our comprehensive guide. Simplify database management in Magento efficiently.","og_url":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/","og_site_name":"Magecurious","article_published_time":"2023-11-21T13:01:17+00:00","article_modified_time":"2025-01-10T12:37:50+00:00","og_image":[{"width":1260,"height":496,"url":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/How-to-create-a-Table-using-Declarative-Schema.png","type":"image\/png"}],"author":"Magecurious","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Magecurious","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/#article","isPartOf":{"@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/"},"author":{"name":"Magecurious","@id":"https:\/\/magecurious.com\/blog\/#\/schema\/person\/6bced7da0991e7fbbd4550006a6494e2"},"headline":"Create New Table using Declarative Schema in Magento 2","datePublished":"2023-11-21T13:01:17+00:00","dateModified":"2025-01-10T12:37:50+00:00","mainEntityOfPage":{"@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/"},"wordCount":160,"commentCount":0,"publisher":{"@id":"https:\/\/magecurious.com\/blog\/#organization"},"image":{"@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/#primaryimage"},"thumbnailUrl":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/How-to-create-a-Table-using-Declarative-Schema.png","articleSection":["Magento 2 Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/","url":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/","name":"How to Create New Table Using Declarative Schema in Magento 2","isPartOf":{"@id":"https:\/\/magecurious.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/#primaryimage"},"image":{"@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/#primaryimage"},"thumbnailUrl":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/How-to-create-a-Table-using-Declarative-Schema.png","datePublished":"2023-11-21T13:01:17+00:00","dateModified":"2025-01-10T12:37:50+00:00","description":"create a new table using declarative schema in Magento 2 with our comprehensive guide. Simplify database management in Magento efficiently.","breadcrumb":{"@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/#primaryimage","url":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/How-to-create-a-Table-using-Declarative-Schema.png","contentUrl":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/How-to-create-a-Table-using-Declarative-Schema.png","width":1260,"height":496},{"@type":"BreadcrumbList","@id":"https:\/\/magecurious.com\/blog\/create-new-table-using-declarative-schema-in-magento-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/magecurious.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Create New Table using Declarative Schema in Magento 2"}]},{"@type":"WebSite","@id":"https:\/\/magecurious.com\/blog\/#website","url":"https:\/\/magecurious.com\/blog\/","name":"Magecurious","description":"Blog","publisher":{"@id":"https:\/\/magecurious.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/magecurious.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/magecurious.com\/blog\/#organization","name":"Magecurious","url":"https:\/\/magecurious.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/magecurious.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2026\/03\/cropped-New_Project.png","contentUrl":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2026\/03\/cropped-New_Project.png","width":596,"height":113,"caption":"Magecurious"},"image":{"@id":"https:\/\/magecurious.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/magecurious.com\/blog\/#\/schema\/person\/6bced7da0991e7fbbd4550006a6494e2","name":"Magecurious","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/magecurious.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c9178df2190b2309da97c9f28dd475bc338275cf664d12678d7e5da51c761271?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c9178df2190b2309da97c9f28dd475bc338275cf664d12678d7e5da51c761271?s=96&d=mm&r=g","caption":"Magecurious"},"sameAs":["https:\/\/magecurious.com"],"url":"https:\/\/magecurious.com\/blog\/author\/magecurious-wp\/"}]}},"jetpack_featured_media_url":"https:\/\/magecurious.com\/blog\/wp-content\/uploads\/2023\/11\/How-to-create-a-Table-using-Declarative-Schema.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/posts\/843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/comments?post=843"}],"version-history":[{"count":0,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/posts\/843\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/media\/853"}],"wp:attachment":[{"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/media?parent=843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/categories?post=843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magecurious.com\/blog\/wp-json\/wp\/v2\/tags?post=843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}