相关疑难解决方法(0)

Laravel:生产数据的迁移和种子

我的应用程序需要预先注册的数据集才能工作.所以我需要在设置应用程序时将它们插入数据库中.

Laravel提出了两种机制:

  • 数据库迁移:"它们允许团队修改数据库模式并在当前模式状态下保持最新."
  • 数据库播种:"Laravel还包括一种使用种子类为测试数据播种数据库的简单方法."

当我读到这个描述时,这些解决方案似乎都没有适应.

在stackoverflow上已经提出了类似的问题并回答了问题.答案建议使用数据库播种器通过检测当前环境来填充数据库:

<?php

class DatabaseSeeder extends Seeder {

    public function run()
    {
            Eloquent::unguard();

            if (App::environment() === 'production')
            {
                $this->call('ProductionSeeder');
            }
            else
            {
                $this->call('StagingSeeder');
            }
    }

}
Run Code Online (Sandbox Code Playgroud)

当然,这个解决方案有效.但我不确定这是否是正确的方法,因为通过使用播种机插入数据,您将失去迁移机制提供的所有优势(数据库升级,回滚......)

我想知道在这种情况下最佳做法是什么.

php database database-migration laravel laravel-4

39
推荐指数
4
解决办法
2万
查看次数

标签 统计

database ×1

database-migration ×1

laravel ×1

laravel-4 ×1

php ×1