Magento 2.3 - How to add custom column to customer_entity tableWhat does the Customer is_active flag do?Adding a Custom Column to Customers GridAdd Field to Customer Registation Form Magento 2How to add a unique custom attribute for a customer?Create customer custom attribute with input type checkbox, multiselect, and radio Magento 2Customer Custom Attribute and Save Value when Save CustomerCustomer custom attribute not showing in admin form`upgradeData` to add a custom customer attribute is not working in `Magento2`Magento 2 - InstallData script doesn´t add column to my 'customer_entitiy'Magento 2.3 - Add custom customer entity attribute with service contract

NIntegrate: How can I solve this integral numerically? NIntegrate fails while Integrate works

Can an armblade require double attunement if it integrates a magic weapon that normally requires attunement?

What is the smallest body in which a sling shot maneuver can be performed?

Can I rely on these GitHub repository files?

What if somebody invests in my application?

Did US corporations pay demonstrators in the German demonstrations against article 13?

What linear sensor for a keyboard?

When is separating the total wavefunction into a space part and a spin part possible?

Visiting the UK as unmarried couple

Can somebody explain Brexit in a few child-proof sentences?

Can one define wavefronts for waves travelling on a stretched string?

How to open new tab in existing terminal instead of new terminal instance?

Freedom of speech and where it applies

How to deal with loss of decision making power over a change?

How do I repair my stair bannister?

Can a controlled ghast be a leader of a pack of ghouls?

How did Odysseus get injured on his leg?

Invariance of results when scaling explanatory variables in logistic regression, is there a proof?

Female=gender counterpart?

Negative correlation but positive beta value

Are Warlocks Arcane or Divine?

Is there a problem with hiding "forgot password" until it's needed?

My boss asked me to take a one-day class, then signs it up as a day off

Could solar power be utilized and substitute coal in the 19th century?



Magento 2.3 - How to add custom column to customer_entity table


What does the Customer is_active flag do?Adding a Custom Column to Customers GridAdd Field to Customer Registation Form Magento 2How to add a unique custom attribute for a customer?Create customer custom attribute with input type checkbox, multiselect, and radio Magento 2Customer Custom Attribute and Save Value when Save CustomerCustomer custom attribute not showing in admin form`upgradeData` to add a custom customer attribute is not working in `Magento2`Magento 2 - InstallData script doesn´t add column to my 'customer_entitiy'Magento 2.3 - Add custom customer entity attribute with service contract













1















I'm creating a Referral Program module, and I want to create a custom column inside the customer_entity table. The column is referred_by and it's a foreign key that as a relation with the customer_entity table itself. This column contains the id of the customer that sent the referral_code. How can I implement this? How can I add this field inside the customer_entity table? I try to add an attribute as static type, but the new column doesn't appear inside that table. I need to declere the db_schema.xml?










share|improve this question







New contributor




Mirko Rapisarda is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    1















    I'm creating a Referral Program module, and I want to create a custom column inside the customer_entity table. The column is referred_by and it's a foreign key that as a relation with the customer_entity table itself. This column contains the id of the customer that sent the referral_code. How can I implement this? How can I add this field inside the customer_entity table? I try to add an attribute as static type, but the new column doesn't appear inside that table. I need to declere the db_schema.xml?










    share|improve this question







    New contributor




    Mirko Rapisarda is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      1












      1








      1








      I'm creating a Referral Program module, and I want to create a custom column inside the customer_entity table. The column is referred_by and it's a foreign key that as a relation with the customer_entity table itself. This column contains the id of the customer that sent the referral_code. How can I implement this? How can I add this field inside the customer_entity table? I try to add an attribute as static type, but the new column doesn't appear inside that table. I need to declere the db_schema.xml?










      share|improve this question







      New contributor




      Mirko Rapisarda is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I'm creating a Referral Program module, and I want to create a custom column inside the customer_entity table. The column is referred_by and it's a foreign key that as a relation with the customer_entity table itself. This column contains the id of the customer that sent the referral_code. How can I implement this? How can I add this field inside the customer_entity table? I try to add an attribute as static type, but the new column doesn't appear inside that table. I need to declere the db_schema.xml?







      customer-attribute declarative-schema






      share|improve this question







      New contributor




      Mirko Rapisarda is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Mirko Rapisarda is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Mirko Rapisarda is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Mar 20 at 9:01









      Mirko RapisardaMirko Rapisarda

      436




      436




      New contributor




      Mirko Rapisarda is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Mirko Rapisarda is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Mirko Rapisarda is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          3 Answers
          3






          active

          oldest

          votes


















          3














          You can try using following code.



          app/code/Anshu/CustomerEdit/registration.php



          <?php

          use MagentoFrameworkComponentComponentRegistrar;

          ComponentRegistrar::register(
          ComponentRegistrar::MODULE,
          'Anshu_CustomerEdit',
          __DIR__
          );


          app/code/Anshu/CustomerEdit/etc/module.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
          <module name="Anshu_CustomerEdit" >
          <sequence>
          <module name="Magento_Customer"/>
          </sequence>
          </module>
          </config>


          app/code/Anshu/CustomerEdit/etc/db_schema.xml



          <?xml version="1.0"?>
          <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
          <table name="customer_entity">
          <column xsi:type="int" name="referred_by" padding="10" unsigned="true" nullable="false"
          comment="Referred By"/>
          <constraint xsi:type="foreign" referenceId="CUSTOMER_ENTITY_REFERRED_BY_CUSTOMER_ENTITY_ENTITY_ID" table="customer_entity"
          column="referred_by" referenceTable="customer_entity" referenceColumn="entity_id" onDelete="CASCADE"/>
          </table>
          </schema>


          Then run following command to generate db_schema_whitelist.json



          bin/magento setup:db-declaration:generate-whitelist


          Then run bin/magento setup:upgrade command.



          Here Anshu is the module namespace and CustomerEdit is the module name.



          You can modify code according to your requirement.






          share|improve this answer























          • How do you set value to this field @AnushuMishra

            – Prathap Gunasekaran
            Mar 20 at 9:56











          • @PrathapGunasekaran This will just add the field in the table. To add the content in the field Data Patch needs to be created. You can read about them at devdocs.magento.com/guides/v2.3/extension-dev-guide/…

            – Anshu Mishra
            Mar 20 at 10:19


















          0














          You can use InstallSchema Script to do that. Kindly refer below code:



          <?php

          namespace vendormoduleSetup;

          use MagentoFrameworkSetupInstallSchemaInterface;
          use MagentoFrameworkSetupModuleContextInterface;
          use MagentoFrameworkSetupSchemaSetupInterface;
          use MagentoFrameworkDBDdlTable;

          class InstallSchema implements InstallSchemaInterface

          /**
          * @inheritdoc
          */
          public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)

          $setup->startSetup();

          $table = $setup->getConnection()->newTable(
          $setup->getTable('customer_entity')
          )->addColumn(
          'referred_by',
          MagentoFrameworkDBDdlTable::TYPE_INTEGER,
          255,
          ['identity' => true, 'nullable' => true],
          'Referred By'
          )->setComment("Id of the customer that sent the Referral code");

          $setup->getConnection()->createTable($table);

          $setup->endSetup();







          share|improve this answer























          • ok, and then how can I add the field inside the entity model of customer? Because this field then I need to get and set

            – Mirko Rapisarda
            Mar 20 at 9:33







          • 1





            @magefms M2.3 should be added via declarative schema even though it acepts, correct me if am wrong

            – Prathap Gunasekaran
            Mar 20 at 9:36











          • @MirkoRapisarda Try with customer attribute for your requirement you can't do this via custom field in a table.

            – Prathap Gunasekaran
            Mar 20 at 9:37











          • @PrathapGunasekaran, yeah you are right but just giving him an easier way for now since it also works for 2.3.

            – magefms
            Mar 20 at 9:40






          • 1





            @PrathapGunasekaran but with custom attribute, I lost the possibility to add a foreign key relationship, for this reason I want to add it as a real column

            – Mirko Rapisarda
            Mar 20 at 9:40


















          0














          Create new customer custom attribute for referral_code while installing referral module. here is a link to follow how to add custom attribute in customer section.



          https://www.mageplaza.com/magento-2-module-development/magento-2-add-customer-attribute-programmatically.html



          you can fetch custom attribute value from customer object using below code.



          $customer->getCustomAttribute('FIELD_NAME')->getValue();


          replace FIELD_NAME by your custom attribute name






          share|improve this answer























          • but in this way I lost the possibility to add the referenced_by field as a foreign key

            – Mirko Rapisarda
            Mar 20 at 9:37










          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "479"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          Mirko Rapisarda is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f266635%2fmagento-2-3-how-to-add-custom-column-to-customer-entity-table%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          3 Answers
          3






          active

          oldest

          votes








          3 Answers
          3






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          You can try using following code.



          app/code/Anshu/CustomerEdit/registration.php



          <?php

          use MagentoFrameworkComponentComponentRegistrar;

          ComponentRegistrar::register(
          ComponentRegistrar::MODULE,
          'Anshu_CustomerEdit',
          __DIR__
          );


          app/code/Anshu/CustomerEdit/etc/module.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
          <module name="Anshu_CustomerEdit" >
          <sequence>
          <module name="Magento_Customer"/>
          </sequence>
          </module>
          </config>


          app/code/Anshu/CustomerEdit/etc/db_schema.xml



          <?xml version="1.0"?>
          <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
          <table name="customer_entity">
          <column xsi:type="int" name="referred_by" padding="10" unsigned="true" nullable="false"
          comment="Referred By"/>
          <constraint xsi:type="foreign" referenceId="CUSTOMER_ENTITY_REFERRED_BY_CUSTOMER_ENTITY_ENTITY_ID" table="customer_entity"
          column="referred_by" referenceTable="customer_entity" referenceColumn="entity_id" onDelete="CASCADE"/>
          </table>
          </schema>


          Then run following command to generate db_schema_whitelist.json



          bin/magento setup:db-declaration:generate-whitelist


          Then run bin/magento setup:upgrade command.



          Here Anshu is the module namespace and CustomerEdit is the module name.



          You can modify code according to your requirement.






          share|improve this answer























          • How do you set value to this field @AnushuMishra

            – Prathap Gunasekaran
            Mar 20 at 9:56











          • @PrathapGunasekaran This will just add the field in the table. To add the content in the field Data Patch needs to be created. You can read about them at devdocs.magento.com/guides/v2.3/extension-dev-guide/…

            – Anshu Mishra
            Mar 20 at 10:19















          3














          You can try using following code.



          app/code/Anshu/CustomerEdit/registration.php



          <?php

          use MagentoFrameworkComponentComponentRegistrar;

          ComponentRegistrar::register(
          ComponentRegistrar::MODULE,
          'Anshu_CustomerEdit',
          __DIR__
          );


          app/code/Anshu/CustomerEdit/etc/module.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
          <module name="Anshu_CustomerEdit" >
          <sequence>
          <module name="Magento_Customer"/>
          </sequence>
          </module>
          </config>


          app/code/Anshu/CustomerEdit/etc/db_schema.xml



          <?xml version="1.0"?>
          <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
          <table name="customer_entity">
          <column xsi:type="int" name="referred_by" padding="10" unsigned="true" nullable="false"
          comment="Referred By"/>
          <constraint xsi:type="foreign" referenceId="CUSTOMER_ENTITY_REFERRED_BY_CUSTOMER_ENTITY_ENTITY_ID" table="customer_entity"
          column="referred_by" referenceTable="customer_entity" referenceColumn="entity_id" onDelete="CASCADE"/>
          </table>
          </schema>


          Then run following command to generate db_schema_whitelist.json



          bin/magento setup:db-declaration:generate-whitelist


          Then run bin/magento setup:upgrade command.



          Here Anshu is the module namespace and CustomerEdit is the module name.



          You can modify code according to your requirement.






          share|improve this answer























          • How do you set value to this field @AnushuMishra

            – Prathap Gunasekaran
            Mar 20 at 9:56











          • @PrathapGunasekaran This will just add the field in the table. To add the content in the field Data Patch needs to be created. You can read about them at devdocs.magento.com/guides/v2.3/extension-dev-guide/…

            – Anshu Mishra
            Mar 20 at 10:19













          3












          3








          3







          You can try using following code.



          app/code/Anshu/CustomerEdit/registration.php



          <?php

          use MagentoFrameworkComponentComponentRegistrar;

          ComponentRegistrar::register(
          ComponentRegistrar::MODULE,
          'Anshu_CustomerEdit',
          __DIR__
          );


          app/code/Anshu/CustomerEdit/etc/module.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
          <module name="Anshu_CustomerEdit" >
          <sequence>
          <module name="Magento_Customer"/>
          </sequence>
          </module>
          </config>


          app/code/Anshu/CustomerEdit/etc/db_schema.xml



          <?xml version="1.0"?>
          <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
          <table name="customer_entity">
          <column xsi:type="int" name="referred_by" padding="10" unsigned="true" nullable="false"
          comment="Referred By"/>
          <constraint xsi:type="foreign" referenceId="CUSTOMER_ENTITY_REFERRED_BY_CUSTOMER_ENTITY_ENTITY_ID" table="customer_entity"
          column="referred_by" referenceTable="customer_entity" referenceColumn="entity_id" onDelete="CASCADE"/>
          </table>
          </schema>


          Then run following command to generate db_schema_whitelist.json



          bin/magento setup:db-declaration:generate-whitelist


          Then run bin/magento setup:upgrade command.



          Here Anshu is the module namespace and CustomerEdit is the module name.



          You can modify code according to your requirement.






          share|improve this answer













          You can try using following code.



          app/code/Anshu/CustomerEdit/registration.php



          <?php

          use MagentoFrameworkComponentComponentRegistrar;

          ComponentRegistrar::register(
          ComponentRegistrar::MODULE,
          'Anshu_CustomerEdit',
          __DIR__
          );


          app/code/Anshu/CustomerEdit/etc/module.xml



          <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
          <module name="Anshu_CustomerEdit" >
          <sequence>
          <module name="Magento_Customer"/>
          </sequence>
          </module>
          </config>


          app/code/Anshu/CustomerEdit/etc/db_schema.xml



          <?xml version="1.0"?>
          <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd">
          <table name="customer_entity">
          <column xsi:type="int" name="referred_by" padding="10" unsigned="true" nullable="false"
          comment="Referred By"/>
          <constraint xsi:type="foreign" referenceId="CUSTOMER_ENTITY_REFERRED_BY_CUSTOMER_ENTITY_ENTITY_ID" table="customer_entity"
          column="referred_by" referenceTable="customer_entity" referenceColumn="entity_id" onDelete="CASCADE"/>
          </table>
          </schema>


          Then run following command to generate db_schema_whitelist.json



          bin/magento setup:db-declaration:generate-whitelist


          Then run bin/magento setup:upgrade command.



          Here Anshu is the module namespace and CustomerEdit is the module name.



          You can modify code according to your requirement.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 20 at 9:42









          Anshu MishraAnshu Mishra

          5,51652660




          5,51652660












          • How do you set value to this field @AnushuMishra

            – Prathap Gunasekaran
            Mar 20 at 9:56











          • @PrathapGunasekaran This will just add the field in the table. To add the content in the field Data Patch needs to be created. You can read about them at devdocs.magento.com/guides/v2.3/extension-dev-guide/…

            – Anshu Mishra
            Mar 20 at 10:19

















          • How do you set value to this field @AnushuMishra

            – Prathap Gunasekaran
            Mar 20 at 9:56











          • @PrathapGunasekaran This will just add the field in the table. To add the content in the field Data Patch needs to be created. You can read about them at devdocs.magento.com/guides/v2.3/extension-dev-guide/…

            – Anshu Mishra
            Mar 20 at 10:19
















          How do you set value to this field @AnushuMishra

          – Prathap Gunasekaran
          Mar 20 at 9:56





          How do you set value to this field @AnushuMishra

          – Prathap Gunasekaran
          Mar 20 at 9:56













          @PrathapGunasekaran This will just add the field in the table. To add the content in the field Data Patch needs to be created. You can read about them at devdocs.magento.com/guides/v2.3/extension-dev-guide/…

          – Anshu Mishra
          Mar 20 at 10:19





          @PrathapGunasekaran This will just add the field in the table. To add the content in the field Data Patch needs to be created. You can read about them at devdocs.magento.com/guides/v2.3/extension-dev-guide/…

          – Anshu Mishra
          Mar 20 at 10:19













          0














          You can use InstallSchema Script to do that. Kindly refer below code:



          <?php

          namespace vendormoduleSetup;

          use MagentoFrameworkSetupInstallSchemaInterface;
          use MagentoFrameworkSetupModuleContextInterface;
          use MagentoFrameworkSetupSchemaSetupInterface;
          use MagentoFrameworkDBDdlTable;

          class InstallSchema implements InstallSchemaInterface

          /**
          * @inheritdoc
          */
          public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)

          $setup->startSetup();

          $table = $setup->getConnection()->newTable(
          $setup->getTable('customer_entity')
          )->addColumn(
          'referred_by',
          MagentoFrameworkDBDdlTable::TYPE_INTEGER,
          255,
          ['identity' => true, 'nullable' => true],
          'Referred By'
          )->setComment("Id of the customer that sent the Referral code");

          $setup->getConnection()->createTable($table);

          $setup->endSetup();







          share|improve this answer























          • ok, and then how can I add the field inside the entity model of customer? Because this field then I need to get and set

            – Mirko Rapisarda
            Mar 20 at 9:33







          • 1





            @magefms M2.3 should be added via declarative schema even though it acepts, correct me if am wrong

            – Prathap Gunasekaran
            Mar 20 at 9:36











          • @MirkoRapisarda Try with customer attribute for your requirement you can't do this via custom field in a table.

            – Prathap Gunasekaran
            Mar 20 at 9:37











          • @PrathapGunasekaran, yeah you are right but just giving him an easier way for now since it also works for 2.3.

            – magefms
            Mar 20 at 9:40






          • 1





            @PrathapGunasekaran but with custom attribute, I lost the possibility to add a foreign key relationship, for this reason I want to add it as a real column

            – Mirko Rapisarda
            Mar 20 at 9:40















          0














          You can use InstallSchema Script to do that. Kindly refer below code:



          <?php

          namespace vendormoduleSetup;

          use MagentoFrameworkSetupInstallSchemaInterface;
          use MagentoFrameworkSetupModuleContextInterface;
          use MagentoFrameworkSetupSchemaSetupInterface;
          use MagentoFrameworkDBDdlTable;

          class InstallSchema implements InstallSchemaInterface

          /**
          * @inheritdoc
          */
          public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)

          $setup->startSetup();

          $table = $setup->getConnection()->newTable(
          $setup->getTable('customer_entity')
          )->addColumn(
          'referred_by',
          MagentoFrameworkDBDdlTable::TYPE_INTEGER,
          255,
          ['identity' => true, 'nullable' => true],
          'Referred By'
          )->setComment("Id of the customer that sent the Referral code");

          $setup->getConnection()->createTable($table);

          $setup->endSetup();







          share|improve this answer























          • ok, and then how can I add the field inside the entity model of customer? Because this field then I need to get and set

            – Mirko Rapisarda
            Mar 20 at 9:33







          • 1





            @magefms M2.3 should be added via declarative schema even though it acepts, correct me if am wrong

            – Prathap Gunasekaran
            Mar 20 at 9:36











          • @MirkoRapisarda Try with customer attribute for your requirement you can't do this via custom field in a table.

            – Prathap Gunasekaran
            Mar 20 at 9:37











          • @PrathapGunasekaran, yeah you are right but just giving him an easier way for now since it also works for 2.3.

            – magefms
            Mar 20 at 9:40






          • 1





            @PrathapGunasekaran but with custom attribute, I lost the possibility to add a foreign key relationship, for this reason I want to add it as a real column

            – Mirko Rapisarda
            Mar 20 at 9:40













          0












          0








          0







          You can use InstallSchema Script to do that. Kindly refer below code:



          <?php

          namespace vendormoduleSetup;

          use MagentoFrameworkSetupInstallSchemaInterface;
          use MagentoFrameworkSetupModuleContextInterface;
          use MagentoFrameworkSetupSchemaSetupInterface;
          use MagentoFrameworkDBDdlTable;

          class InstallSchema implements InstallSchemaInterface

          /**
          * @inheritdoc
          */
          public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)

          $setup->startSetup();

          $table = $setup->getConnection()->newTable(
          $setup->getTable('customer_entity')
          )->addColumn(
          'referred_by',
          MagentoFrameworkDBDdlTable::TYPE_INTEGER,
          255,
          ['identity' => true, 'nullable' => true],
          'Referred By'
          )->setComment("Id of the customer that sent the Referral code");

          $setup->getConnection()->createTable($table);

          $setup->endSetup();







          share|improve this answer













          You can use InstallSchema Script to do that. Kindly refer below code:



          <?php

          namespace vendormoduleSetup;

          use MagentoFrameworkSetupInstallSchemaInterface;
          use MagentoFrameworkSetupModuleContextInterface;
          use MagentoFrameworkSetupSchemaSetupInterface;
          use MagentoFrameworkDBDdlTable;

          class InstallSchema implements InstallSchemaInterface

          /**
          * @inheritdoc
          */
          public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)

          $setup->startSetup();

          $table = $setup->getConnection()->newTable(
          $setup->getTable('customer_entity')
          )->addColumn(
          'referred_by',
          MagentoFrameworkDBDdlTable::TYPE_INTEGER,
          255,
          ['identity' => true, 'nullable' => true],
          'Referred By'
          )->setComment("Id of the customer that sent the Referral code");

          $setup->getConnection()->createTable($table);

          $setup->endSetup();








          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 20 at 9:18









          magefmsmagefms

          1,9622425




          1,9622425












          • ok, and then how can I add the field inside the entity model of customer? Because this field then I need to get and set

            – Mirko Rapisarda
            Mar 20 at 9:33







          • 1





            @magefms M2.3 should be added via declarative schema even though it acepts, correct me if am wrong

            – Prathap Gunasekaran
            Mar 20 at 9:36











          • @MirkoRapisarda Try with customer attribute for your requirement you can't do this via custom field in a table.

            – Prathap Gunasekaran
            Mar 20 at 9:37











          • @PrathapGunasekaran, yeah you are right but just giving him an easier way for now since it also works for 2.3.

            – magefms
            Mar 20 at 9:40






          • 1





            @PrathapGunasekaran but with custom attribute, I lost the possibility to add a foreign key relationship, for this reason I want to add it as a real column

            – Mirko Rapisarda
            Mar 20 at 9:40

















          • ok, and then how can I add the field inside the entity model of customer? Because this field then I need to get and set

            – Mirko Rapisarda
            Mar 20 at 9:33







          • 1





            @magefms M2.3 should be added via declarative schema even though it acepts, correct me if am wrong

            – Prathap Gunasekaran
            Mar 20 at 9:36











          • @MirkoRapisarda Try with customer attribute for your requirement you can't do this via custom field in a table.

            – Prathap Gunasekaran
            Mar 20 at 9:37











          • @PrathapGunasekaran, yeah you are right but just giving him an easier way for now since it also works for 2.3.

            – magefms
            Mar 20 at 9:40






          • 1





            @PrathapGunasekaran but with custom attribute, I lost the possibility to add a foreign key relationship, for this reason I want to add it as a real column

            – Mirko Rapisarda
            Mar 20 at 9:40
















          ok, and then how can I add the field inside the entity model of customer? Because this field then I need to get and set

          – Mirko Rapisarda
          Mar 20 at 9:33






          ok, and then how can I add the field inside the entity model of customer? Because this field then I need to get and set

          – Mirko Rapisarda
          Mar 20 at 9:33





          1




          1





          @magefms M2.3 should be added via declarative schema even though it acepts, correct me if am wrong

          – Prathap Gunasekaran
          Mar 20 at 9:36





          @magefms M2.3 should be added via declarative schema even though it acepts, correct me if am wrong

          – Prathap Gunasekaran
          Mar 20 at 9:36













          @MirkoRapisarda Try with customer attribute for your requirement you can't do this via custom field in a table.

          – Prathap Gunasekaran
          Mar 20 at 9:37





          @MirkoRapisarda Try with customer attribute for your requirement you can't do this via custom field in a table.

          – Prathap Gunasekaran
          Mar 20 at 9:37













          @PrathapGunasekaran, yeah you are right but just giving him an easier way for now since it also works for 2.3.

          – magefms
          Mar 20 at 9:40





          @PrathapGunasekaran, yeah you are right but just giving him an easier way for now since it also works for 2.3.

          – magefms
          Mar 20 at 9:40




          1




          1





          @PrathapGunasekaran but with custom attribute, I lost the possibility to add a foreign key relationship, for this reason I want to add it as a real column

          – Mirko Rapisarda
          Mar 20 at 9:40





          @PrathapGunasekaran but with custom attribute, I lost the possibility to add a foreign key relationship, for this reason I want to add it as a real column

          – Mirko Rapisarda
          Mar 20 at 9:40











          0














          Create new customer custom attribute for referral_code while installing referral module. here is a link to follow how to add custom attribute in customer section.



          https://www.mageplaza.com/magento-2-module-development/magento-2-add-customer-attribute-programmatically.html



          you can fetch custom attribute value from customer object using below code.



          $customer->getCustomAttribute('FIELD_NAME')->getValue();


          replace FIELD_NAME by your custom attribute name






          share|improve this answer























          • but in this way I lost the possibility to add the referenced_by field as a foreign key

            – Mirko Rapisarda
            Mar 20 at 9:37















          0














          Create new customer custom attribute for referral_code while installing referral module. here is a link to follow how to add custom attribute in customer section.



          https://www.mageplaza.com/magento-2-module-development/magento-2-add-customer-attribute-programmatically.html



          you can fetch custom attribute value from customer object using below code.



          $customer->getCustomAttribute('FIELD_NAME')->getValue();


          replace FIELD_NAME by your custom attribute name






          share|improve this answer























          • but in this way I lost the possibility to add the referenced_by field as a foreign key

            – Mirko Rapisarda
            Mar 20 at 9:37













          0












          0








          0







          Create new customer custom attribute for referral_code while installing referral module. here is a link to follow how to add custom attribute in customer section.



          https://www.mageplaza.com/magento-2-module-development/magento-2-add-customer-attribute-programmatically.html



          you can fetch custom attribute value from customer object using below code.



          $customer->getCustomAttribute('FIELD_NAME')->getValue();


          replace FIELD_NAME by your custom attribute name






          share|improve this answer













          Create new customer custom attribute for referral_code while installing referral module. here is a link to follow how to add custom attribute in customer section.



          https://www.mageplaza.com/magento-2-module-development/magento-2-add-customer-attribute-programmatically.html



          you can fetch custom attribute value from customer object using below code.



          $customer->getCustomAttribute('FIELD_NAME')->getValue();


          replace FIELD_NAME by your custom attribute name







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 20 at 9:33









          Kruti AparnathiKruti Aparnathi

          463




          463












          • but in this way I lost the possibility to add the referenced_by field as a foreign key

            – Mirko Rapisarda
            Mar 20 at 9:37

















          • but in this way I lost the possibility to add the referenced_by field as a foreign key

            – Mirko Rapisarda
            Mar 20 at 9:37
















          but in this way I lost the possibility to add the referenced_by field as a foreign key

          – Mirko Rapisarda
          Mar 20 at 9:37





          but in this way I lost the possibility to add the referenced_by field as a foreign key

          – Mirko Rapisarda
          Mar 20 at 9:37










          Mirko Rapisarda is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          Mirko Rapisarda is a new contributor. Be nice, and check out our Code of Conduct.












          Mirko Rapisarda is a new contributor. Be nice, and check out our Code of Conduct.











          Mirko Rapisarda is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to Magento Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f266635%2fmagento-2-3-how-to-add-custom-column-to-customer-entity-table%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

          Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

          Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High