/var/www/vhosts/ihelp.ro/_OLD/vendor/robmorgan/phinx/docs/fr
NameSizeModeActions
commands.rst106380644editdlrm
conf.py2610644editdlrm
configuration.rst94050644editdlrm
contents.rst1180644editdlrm
index.rst25750644editdlrm
migrations.rst336640644editdlrm
seeding.rst57370644editdlrm
Edit: /var/www/vhosts/ihelp.ro/_OLD/vendor/robmorgan/phinx/docs/fr/seeding.rst (5737B)
.. index:: single: Database Seeding Database Seeding ================ In version 0.5.0 Phinx introduced support for seeding your database with test data. Seed classes are a great way to easily fill your database with data after it's created. By default they are stored in the ``seeds`` directory; however, this path can be changed in your configuration file. .. note:: Database seeding is entirely optional, and Phinx does not create a ``seeds`` directory by default. Creating a New Seed Class ------------------------- Phinx includes a command to easily generate a new seed class: .. code-block:: bash $ php vendor/bin/phinx seed:create UserSeeder If you have specified multiple seed paths, you will be asked to select which path to create the new seed class in. It is based on a skeleton template:: 'foo', 'created' => date('Y-m-d H:i:s'), ], [ 'body' => 'bar', 'created' => date('Y-m-d H:i:s'), ] ]; $posts = $this->table('posts'); $posts->insert($data) ->save(); } } .. note:: You must call the ``save()`` method to commit your data to the table. Phinx will buffer data until you do so. Integrating with the Faker library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It's trivial to use the awesome `Faker library `_ in your seed classes. Simply install it using Composer: .. code-block:: bash $ composer require fzaninotto/faker Then use it in your seed classes:: $faker->userName, 'password' => sha1($faker->password), 'password_salt' => sha1('foo'), 'email' => $faker->email, 'first_name' => $faker->firstName, 'last_name' => $faker->lastName, 'created' => date('Y-m-d H:i:s'), ]; } $this->insert('users', $data); } } Truncating Tables ----------------- In addition to inserting data Phinx makes it trivial to empty your tables using the SQL ``TRUNCATE`` command:: 'foo', 'created' => date('Y-m-d H:i:s'), ], [ 'body' => 'bar', 'created' => date('Y-m-d H:i:s'), ] ]; $posts = $this->table('posts'); $posts->insert($data) ->save(); // empty the table $posts->truncate(); } } .. note:: SQLite doesn't natively support the ``TRUNCATE`` command so behind the scenes ``DELETE FROM`` is used. It is recommended to call the ``VACUUM`` command after truncating a table. Phinx does not do this automatically. Executing Seed Classes ---------------------- This is the easy part. To seed your database, simply use the ``seed:run`` command: .. code-block:: bash $ php vendor/bin/phinx seed:run By default, Phinx will execute all available seed classes. If you would like to run a specific class, simply pass in the name of it using the ``-s`` parameter: .. code-block:: bash $ php vendor/bin/phinx seed:run -s UserSeeder You can also run multiple seeders: .. code-block:: bash $ php vendor/bin/phinx seed:run -s UserSeeder -s PermissionSeeder -s LogSeeder You can also use the ``-v`` parameter for more output verbosity: .. code-block:: bash $ php vendor/bin/phinx seed:run -v The Phinx seed functionality provides a simple mechanism to easily and repeatably insert test data into your database.