Difference between InstallSchema and InstallData












11















I want to know the difference between InstallSchema and InstallData in details.



I also need to know when can I use InstallSchema.php and InstallData.php?










share|improve this question

























  • Let me know if you still have any issue , otherwise accept answer so other user gets helped

    – Manthan Dave
    Aug 2 '17 at 9:36
















11















I want to know the difference between InstallSchema and InstallData in details.



I also need to know when can I use InstallSchema.php and InstallData.php?










share|improve this question

























  • Let me know if you still have any issue , otherwise accept answer so other user gets helped

    – Manthan Dave
    Aug 2 '17 at 9:36














11












11








11


6






I want to know the difference between InstallSchema and InstallData in details.



I also need to know when can I use InstallSchema.php and InstallData.php?










share|improve this question
















I want to know the difference between InstallSchema and InstallData in details.



I also need to know when can I use InstallSchema.php and InstallData.php?







magento2 database installdata






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jun 19 '18 at 12:07







Ketan Borada

















asked Jun 15 '17 at 6:35









Ketan BoradaKetan Borada

386838




386838













  • Let me know if you still have any issue , otherwise accept answer so other user gets helped

    – Manthan Dave
    Aug 2 '17 at 9:36



















  • Let me know if you still have any issue , otherwise accept answer so other user gets helped

    – Manthan Dave
    Aug 2 '17 at 9:36

















Let me know if you still have any issue , otherwise accept answer so other user gets helped

– Manthan Dave
Aug 2 '17 at 9:36





Let me know if you still have any issue , otherwise accept answer so other user gets helped

– Manthan Dave
Aug 2 '17 at 9:36










4 Answers
4






active

oldest

votes


















15














First both InstallSchema And InstallData both method are called when you install any new module




Schema setup scripts change database schema, they create or change
needed database tables.
If module is installing, SetupInstallSchema::install() is executed.




It means it create new table and its fields with its structure.




InstallData setup scripts contain entries module needs to insert into
database.
Attributes that come with Magento by default,Cms pages, various default groups and roles, are all examples of data setup.




Data setup is executed after Schema setup, they function in a similar fashion.




So come to the conclustion, Main difference between both is InstallSchema is used to make table and its structure. While
InstallData is used to insert/add data into table.







share|improve this answer
























  • Means,InstallData use for add attribute for Customer,Qoute,Order,Catalog,Product,Category.

    – Ketan Borada
    Jun 15 '17 at 7:15











  • Well you partially correct , InstallData is used to InsertData of attribute (value of attribute) Lets say you have created table called "Slider" by installSchema Now you need to insert each slide Data then you need to use InstallData file and define data of each slide . Make sense ?

    – Manthan Dave
    Jun 15 '17 at 7:54



















8














There are following difference,



InstallSchema




InstallSchema.php purpose is to create new table/attribute/fields in
Database




InstallData




InstallData.php purpose is to insert Data/value into database.







share|improve this answer

































    6














    Magento2 uses Four Type of files for the Initial operations related to database that are executed just with the installation process of module (These files runs only once through out of their existence). Those files are as follows





    1. InstallSchema.php

    2. InstallData.php

    3. UpgradeSchema.php

    4. UpgradeData.php




    All of these files are present ate Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup Name space of your magento module. Here I have described all the files with their use.



    InstallSchema.php




    This file is executed first just after your modules registration
    (Means just after your module & its version entries are done in to the
    table -> setup_module). This file is used to create tables with
    their columns attribute into your database that are later used by the
    new installed module.




    InstallData.php




    This file is executed after InstallSchema.php. It is used to add
    data to the newly created table or any existing table.




    UpgradeSchema.php




    This file comes with the module & runs only then, if you are already
    having that modules previous version installed in your magento(Means
    it has entry of its previous version into the table ->
    setup_module). It is used to manipulate the table related to the
    module(Means it is used to alter the table schema means columns
    attribute & to add new column into that table).




    UpgradeData.php




    This file runs after UpgradeSchema.php. It is having the same
    concept as InstallData.php has but using this file you can
    change/alter the database contents without the use of model files. You
    can also use this file to add new content to the database same us
    InstallData.php. But same like UpgradeSchema.php it will also runs only then if you are having that modules previous version
    installed in your magento.




    As I said in starting these files runs only once so the basic use of this files is to prepare the tables & data for the Module which is been get used by the module through out its existence.




    Note: Magento uses these files to create tables that are used into
    Magentos functionalities & to add the contents like cms_contents,
    customer_groups & attributes, Products_Types & attributes, Taxation
    groups etc.







    share|improve this answer































      3














      There is basic difference between 2 is



      InstallSchema will run when the module is installed to setup the database structure



      While InstallData will run when the module is installed to initial the data for database table



      Hoope this clear your query.






      share|improve this answer
























        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
        });


        }
        });














        draft saved

        draft discarded


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f179119%2fdifference-between-installschema-and-installdata%23new-answer', 'question_page');
        }
        );

        Post as a guest















        Required, but never shown

























        4 Answers
        4






        active

        oldest

        votes








        4 Answers
        4






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        15














        First both InstallSchema And InstallData both method are called when you install any new module




        Schema setup scripts change database schema, they create or change
        needed database tables.
        If module is installing, SetupInstallSchema::install() is executed.




        It means it create new table and its fields with its structure.




        InstallData setup scripts contain entries module needs to insert into
        database.
        Attributes that come with Magento by default,Cms pages, various default groups and roles, are all examples of data setup.




        Data setup is executed after Schema setup, they function in a similar fashion.




        So come to the conclustion, Main difference between both is InstallSchema is used to make table and its structure. While
        InstallData is used to insert/add data into table.







        share|improve this answer
























        • Means,InstallData use for add attribute for Customer,Qoute,Order,Catalog,Product,Category.

          – Ketan Borada
          Jun 15 '17 at 7:15











        • Well you partially correct , InstallData is used to InsertData of attribute (value of attribute) Lets say you have created table called "Slider" by installSchema Now you need to insert each slide Data then you need to use InstallData file and define data of each slide . Make sense ?

          – Manthan Dave
          Jun 15 '17 at 7:54
















        15














        First both InstallSchema And InstallData both method are called when you install any new module




        Schema setup scripts change database schema, they create or change
        needed database tables.
        If module is installing, SetupInstallSchema::install() is executed.




        It means it create new table and its fields with its structure.




        InstallData setup scripts contain entries module needs to insert into
        database.
        Attributes that come with Magento by default,Cms pages, various default groups and roles, are all examples of data setup.




        Data setup is executed after Schema setup, they function in a similar fashion.




        So come to the conclustion, Main difference between both is InstallSchema is used to make table and its structure. While
        InstallData is used to insert/add data into table.







        share|improve this answer
























        • Means,InstallData use for add attribute for Customer,Qoute,Order,Catalog,Product,Category.

          – Ketan Borada
          Jun 15 '17 at 7:15











        • Well you partially correct , InstallData is used to InsertData of attribute (value of attribute) Lets say you have created table called "Slider" by installSchema Now you need to insert each slide Data then you need to use InstallData file and define data of each slide . Make sense ?

          – Manthan Dave
          Jun 15 '17 at 7:54














        15












        15








        15







        First both InstallSchema And InstallData both method are called when you install any new module




        Schema setup scripts change database schema, they create or change
        needed database tables.
        If module is installing, SetupInstallSchema::install() is executed.




        It means it create new table and its fields with its structure.




        InstallData setup scripts contain entries module needs to insert into
        database.
        Attributes that come with Magento by default,Cms pages, various default groups and roles, are all examples of data setup.




        Data setup is executed after Schema setup, they function in a similar fashion.




        So come to the conclustion, Main difference between both is InstallSchema is used to make table and its structure. While
        InstallData is used to insert/add data into table.







        share|improve this answer













        First both InstallSchema And InstallData both method are called when you install any new module




        Schema setup scripts change database schema, they create or change
        needed database tables.
        If module is installing, SetupInstallSchema::install() is executed.




        It means it create new table and its fields with its structure.




        InstallData setup scripts contain entries module needs to insert into
        database.
        Attributes that come with Magento by default,Cms pages, various default groups and roles, are all examples of data setup.




        Data setup is executed after Schema setup, they function in a similar fashion.




        So come to the conclustion, Main difference between both is InstallSchema is used to make table and its structure. While
        InstallData is used to insert/add data into table.








        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jun 15 '17 at 6:43









        Manthan DaveManthan Dave

        7,96621539




        7,96621539













        • Means,InstallData use for add attribute for Customer,Qoute,Order,Catalog,Product,Category.

          – Ketan Borada
          Jun 15 '17 at 7:15











        • Well you partially correct , InstallData is used to InsertData of attribute (value of attribute) Lets say you have created table called "Slider" by installSchema Now you need to insert each slide Data then you need to use InstallData file and define data of each slide . Make sense ?

          – Manthan Dave
          Jun 15 '17 at 7:54



















        • Means,InstallData use for add attribute for Customer,Qoute,Order,Catalog,Product,Category.

          – Ketan Borada
          Jun 15 '17 at 7:15











        • Well you partially correct , InstallData is used to InsertData of attribute (value of attribute) Lets say you have created table called "Slider" by installSchema Now you need to insert each slide Data then you need to use InstallData file and define data of each slide . Make sense ?

          – Manthan Dave
          Jun 15 '17 at 7:54

















        Means,InstallData use for add attribute for Customer,Qoute,Order,Catalog,Product,Category.

        – Ketan Borada
        Jun 15 '17 at 7:15





        Means,InstallData use for add attribute for Customer,Qoute,Order,Catalog,Product,Category.

        – Ketan Borada
        Jun 15 '17 at 7:15













        Well you partially correct , InstallData is used to InsertData of attribute (value of attribute) Lets say you have created table called "Slider" by installSchema Now you need to insert each slide Data then you need to use InstallData file and define data of each slide . Make sense ?

        – Manthan Dave
        Jun 15 '17 at 7:54





        Well you partially correct , InstallData is used to InsertData of attribute (value of attribute) Lets say you have created table called "Slider" by installSchema Now you need to insert each slide Data then you need to use InstallData file and define data of each slide . Make sense ?

        – Manthan Dave
        Jun 15 '17 at 7:54













        8














        There are following difference,



        InstallSchema




        InstallSchema.php purpose is to create new table/attribute/fields in
        Database




        InstallData




        InstallData.php purpose is to insert Data/value into database.







        share|improve this answer






























          8














          There are following difference,



          InstallSchema




          InstallSchema.php purpose is to create new table/attribute/fields in
          Database




          InstallData




          InstallData.php purpose is to insert Data/value into database.







          share|improve this answer




























            8












            8








            8







            There are following difference,



            InstallSchema




            InstallSchema.php purpose is to create new table/attribute/fields in
            Database




            InstallData




            InstallData.php purpose is to insert Data/value into database.







            share|improve this answer















            There are following difference,



            InstallSchema




            InstallSchema.php purpose is to create new table/attribute/fields in
            Database




            InstallData




            InstallData.php purpose is to insert Data/value into database.








            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited 9 mins ago









            ABHISHEK TRIPATHI

            2,0081727




            2,0081727










            answered Jun 15 '17 at 7:24









            Mohammad Rashid HussainMohammad Rashid Hussain

            445310




            445310























                6














                Magento2 uses Four Type of files for the Initial operations related to database that are executed just with the installation process of module (These files runs only once through out of their existence). Those files are as follows





                1. InstallSchema.php

                2. InstallData.php

                3. UpgradeSchema.php

                4. UpgradeData.php




                All of these files are present ate Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup Name space of your magento module. Here I have described all the files with their use.



                InstallSchema.php




                This file is executed first just after your modules registration
                (Means just after your module & its version entries are done in to the
                table -> setup_module). This file is used to create tables with
                their columns attribute into your database that are later used by the
                new installed module.




                InstallData.php




                This file is executed after InstallSchema.php. It is used to add
                data to the newly created table or any existing table.




                UpgradeSchema.php




                This file comes with the module & runs only then, if you are already
                having that modules previous version installed in your magento(Means
                it has entry of its previous version into the table ->
                setup_module). It is used to manipulate the table related to the
                module(Means it is used to alter the table schema means columns
                attribute & to add new column into that table).




                UpgradeData.php




                This file runs after UpgradeSchema.php. It is having the same
                concept as InstallData.php has but using this file you can
                change/alter the database contents without the use of model files. You
                can also use this file to add new content to the database same us
                InstallData.php. But same like UpgradeSchema.php it will also runs only then if you are having that modules previous version
                installed in your magento.




                As I said in starting these files runs only once so the basic use of this files is to prepare the tables & data for the Module which is been get used by the module through out its existence.




                Note: Magento uses these files to create tables that are used into
                Magentos functionalities & to add the contents like cms_contents,
                customer_groups & attributes, Products_Types & attributes, Taxation
                groups etc.







                share|improve this answer




























                  6














                  Magento2 uses Four Type of files for the Initial operations related to database that are executed just with the installation process of module (These files runs only once through out of their existence). Those files are as follows





                  1. InstallSchema.php

                  2. InstallData.php

                  3. UpgradeSchema.php

                  4. UpgradeData.php




                  All of these files are present ate Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup Name space of your magento module. Here I have described all the files with their use.



                  InstallSchema.php




                  This file is executed first just after your modules registration
                  (Means just after your module & its version entries are done in to the
                  table -> setup_module). This file is used to create tables with
                  their columns attribute into your database that are later used by the
                  new installed module.




                  InstallData.php




                  This file is executed after InstallSchema.php. It is used to add
                  data to the newly created table or any existing table.




                  UpgradeSchema.php




                  This file comes with the module & runs only then, if you are already
                  having that modules previous version installed in your magento(Means
                  it has entry of its previous version into the table ->
                  setup_module). It is used to manipulate the table related to the
                  module(Means it is used to alter the table schema means columns
                  attribute & to add new column into that table).




                  UpgradeData.php




                  This file runs after UpgradeSchema.php. It is having the same
                  concept as InstallData.php has but using this file you can
                  change/alter the database contents without the use of model files. You
                  can also use this file to add new content to the database same us
                  InstallData.php. But same like UpgradeSchema.php it will also runs only then if you are having that modules previous version
                  installed in your magento.




                  As I said in starting these files runs only once so the basic use of this files is to prepare the tables & data for the Module which is been get used by the module through out its existence.




                  Note: Magento uses these files to create tables that are used into
                  Magentos functionalities & to add the contents like cms_contents,
                  customer_groups & attributes, Products_Types & attributes, Taxation
                  groups etc.







                  share|improve this answer


























                    6












                    6








                    6







                    Magento2 uses Four Type of files for the Initial operations related to database that are executed just with the installation process of module (These files runs only once through out of their existence). Those files are as follows





                    1. InstallSchema.php

                    2. InstallData.php

                    3. UpgradeSchema.php

                    4. UpgradeData.php




                    All of these files are present ate Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup Name space of your magento module. Here I have described all the files with their use.



                    InstallSchema.php




                    This file is executed first just after your modules registration
                    (Means just after your module & its version entries are done in to the
                    table -> setup_module). This file is used to create tables with
                    their columns attribute into your database that are later used by the
                    new installed module.




                    InstallData.php




                    This file is executed after InstallSchema.php. It is used to add
                    data to the newly created table or any existing table.




                    UpgradeSchema.php




                    This file comes with the module & runs only then, if you are already
                    having that modules previous version installed in your magento(Means
                    it has entry of its previous version into the table ->
                    setup_module). It is used to manipulate the table related to the
                    module(Means it is used to alter the table schema means columns
                    attribute & to add new column into that table).




                    UpgradeData.php




                    This file runs after UpgradeSchema.php. It is having the same
                    concept as InstallData.php has but using this file you can
                    change/alter the database contents without the use of model files. You
                    can also use this file to add new content to the database same us
                    InstallData.php. But same like UpgradeSchema.php it will also runs only then if you are having that modules previous version
                    installed in your magento.




                    As I said in starting these files runs only once so the basic use of this files is to prepare the tables & data for the Module which is been get used by the module through out its existence.




                    Note: Magento uses these files to create tables that are used into
                    Magentos functionalities & to add the contents like cms_contents,
                    customer_groups & attributes, Products_Types & attributes, Taxation
                    groups etc.







                    share|improve this answer













                    Magento2 uses Four Type of files for the Initial operations related to database that are executed just with the installation process of module (These files runs only once through out of their existence). Those files are as follows





                    1. InstallSchema.php

                    2. InstallData.php

                    3. UpgradeSchema.php

                    4. UpgradeData.php




                    All of these files are present ate Magento_root/{app/Vendor}/{Vendor_Name}/{Module_Name}/Setup Name space of your magento module. Here I have described all the files with their use.



                    InstallSchema.php




                    This file is executed first just after your modules registration
                    (Means just after your module & its version entries are done in to the
                    table -> setup_module). This file is used to create tables with
                    their columns attribute into your database that are later used by the
                    new installed module.




                    InstallData.php




                    This file is executed after InstallSchema.php. It is used to add
                    data to the newly created table or any existing table.




                    UpgradeSchema.php




                    This file comes with the module & runs only then, if you are already
                    having that modules previous version installed in your magento(Means
                    it has entry of its previous version into the table ->
                    setup_module). It is used to manipulate the table related to the
                    module(Means it is used to alter the table schema means columns
                    attribute & to add new column into that table).




                    UpgradeData.php




                    This file runs after UpgradeSchema.php. It is having the same
                    concept as InstallData.php has but using this file you can
                    change/alter the database contents without the use of model files. You
                    can also use this file to add new content to the database same us
                    InstallData.php. But same like UpgradeSchema.php it will also runs only then if you are having that modules previous version
                    installed in your magento.




                    As I said in starting these files runs only once so the basic use of this files is to prepare the tables & data for the Module which is been get used by the module through out its existence.




                    Note: Magento uses these files to create tables that are used into
                    Magentos functionalities & to add the contents like cms_contents,
                    customer_groups & attributes, Products_Types & attributes, Taxation
                    groups etc.








                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Jul 18 '18 at 5:41









                    ABHISHEK TRIPATHIABHISHEK TRIPATHI

                    2,0081727




                    2,0081727























                        3














                        There is basic difference between 2 is



                        InstallSchema will run when the module is installed to setup the database structure



                        While InstallData will run when the module is installed to initial the data for database table



                        Hoope this clear your query.






                        share|improve this answer




























                          3














                          There is basic difference between 2 is



                          InstallSchema will run when the module is installed to setup the database structure



                          While InstallData will run when the module is installed to initial the data for database table



                          Hoope this clear your query.






                          share|improve this answer


























                            3












                            3








                            3







                            There is basic difference between 2 is



                            InstallSchema will run when the module is installed to setup the database structure



                            While InstallData will run when the module is installed to initial the data for database table



                            Hoope this clear your query.






                            share|improve this answer













                            There is basic difference between 2 is



                            InstallSchema will run when the module is installed to setup the database structure



                            While InstallData will run when the module is installed to initial the data for database table



                            Hoope this clear your query.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Jun 15 '17 at 6:42









                            KulKul

                            1,07321137




                            1,07321137






























                                draft saved

                                draft discarded




















































                                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%2f179119%2fdifference-between-installschema-and-installdata%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

                                What other Star Trek series did the main TNG cast show up in?

                                Berlina muro

                                Berlina aerponto