Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5.1刷新并为单个表设置种子_Laravel_Laravel 5_Seeding - Fatal编程技术网

Laravel 5.1刷新并为单个表设置种子

Laravel 5.1刷新并为单个表设置种子,laravel,laravel-5,seeding,Laravel,Laravel 5,Seeding,我希望在Laravel5.1中刷新并为单个表添加种子。这可能吗 我尝试了下面的方法,但它给出了一个错误(语法不正确) 如果我使用:php artisan migrate:refresh它只会说: 无需迁移 您可以使用migrate:refresh命令回滚所有迁移,然后执行migrate命令。此命令可有效地重新创建整个数据库: php artisan migrate:refresh 您可以使用--class选项指定要单独运行的特定播种机类: php artisan db:seed --class

我希望在Laravel5.1中刷新并为单个表添加种子。这可能吗

我尝试了下面的方法,但它给出了一个错误(语法不正确)

如果我使用:
php artisan migrate:refresh
它只会说:

无需迁移


您可以使用
migrate:refresh
命令回滚所有迁移,然后执行
migrate
命令。此命令可有效地重新创建整个数据库:

php artisan migrate:refresh
您可以使用
--class
选项指定要单独运行的特定播种机类:

php artisan db:seed --class=UserTableSeeder
完整代码为:

php artisan migrate:refresh
php artisan db:seed --class=UserTableSeeder

希望这能有所帮助。

可能首先只是备份数据库,删除它,然后检查整个种子设定、迁移和刷新机制是否有效。但首先要卸载artisan自动加载

最好先截断同一个表,然后进行种子设定:-

public function run()
{
    Table::truncate();
    //seed your table here
}
然后,您可以像这样运行相同的播种机:-

php artisan db:seed --class=YourSeeder
将清除状态表

所以你可以


>>> App\{MODEL_CLASS}::truncate()



当我不想清除所有表,尤其是用户时,我发现这非常有用。

我认为到目前为止,没有任何答案能够解决迁移和植入单个表的问题。因此,给定迁移文件
database/migrations/create_foo_table.php
和种子文件
database/seeds/FooTableSeeder.php
,其中包含
FooTableSeeder
种子类,您可以执行以下操作:

php artisan migrate:refresh --path=database/migrations/create_foo_table.php
php artisan db:seed --class=FooTableSeeder

这将回滚、迁移并为Foo表设置种子。请参阅:在Laravel 5.1文档中(在撰写本文时,Laravel 7.x已过时,语法尚未更改)。

您可以通过两个步骤完成:

  • 刷新您的特定表:
  • 数据库/seeds/DatabaseSeeder.php中设置的种子表
  • ==额外信息===

    您可以在
    DatabaseSeeder.php
    中对不想使用的播种器进行注释:

    <?php
    
    use Illuminate\Database\Seeder;
    
    class DatabaseSeeder extends Seeder
    {
        /**
         * Seed the application's database.
         *
         * @return void
         */
        public function run()
        {
            $this->call([
                FooSeeder::class,
                // BarSeeder::class,
                // UserSeeder::class,
            ]);
        }
    }
    

    让你的答案获得投票的一个好方法是加入一个例子或一个例子的链接。你能找到解决方案吗?
    
    
    >>> App\{MODEL_CLASS}::truncate()
    
    
    php artisan migrate:refresh --path=database/migrations/create_foo_table.php
    php artisan db:seed --class=FooTableSeeder
    
    php artisan migrate:refresh --path=database/migrations/00_create_foo_table.php
    
    composer dump-autoload
    php artisan db:seed
    
    <?php
    
    use Illuminate\Database\Seeder;
    
    class DatabaseSeeder extends Seeder
    {
        /**
         * Seed the application's database.
         *
         * @return void
         */
        public function run()
        {
            $this->call([
                FooSeeder::class,
                // BarSeeder::class,
                // UserSeeder::class,
            ]);
        }
    }