【问题标题】:How to connected to existing MySQL database in Laravel 5?如何连接到 Laravel 5 中现有的 MySQL 数据库?
【发布时间】:2015-12-25 02:32:29
【问题描述】:

我正在使用 Laravel 5 构建一个 Web 应用程序。我遵循的教程开始时没有数据。

  1. 创建迁移表。

    它使用:

    php artisan make:migration create_table-name_tables --create="table_name"
    
  2. 设置架构

    然后在 /database/migrations/_create_table-name_tables.php 中设置表模式

  3. 执行迁移:php artisan migrate

  4. 播种者。

    创建/database/seeds/table-nameTableSeeder.php。在这个文件中定义了表中的实际行。

  5. 将种子类添加到/database/seeds/DatabaseSeeder.php

    use Illuminate\Database\Seeder;
    use Illuminate\Database\Eloquent\Model;
    
    class DatabaseSeeder extends Seeder {
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();
    
        $this->call('Table-nameTableSeeder');       
    }
    
    }
    
  6. 种子:

    composer dump-autoload
    php artisan db:seed
    

    我的问题: 如果我已经有一个现有的数据库。如何修改迁移步骤以使用我的数据库?我只需要执行步骤 1,2 和 3 吗?然后我可以继续创建模型?

提前致谢!

【问题讨论】:

  • 我可以看看你的 .env 文件吗?
  • 是的,我已经根据我的数据库修改了 .env 文件。 DB_HOST=localhost DB_DATABASE=my_database_name DB_USERNAME=root DB_PASSWORD=MYPASSWORD

标签: php mysql database laravel-5


【解决方案1】:

根据documentations

Laravel 包含一个简单的方法,用 test 为你的数据库播种 使用种子类的数据。

也就是说,为您的数据库播种是出于测试目的。所以是的,如果您已经有一个包含数据的现有数据库,那么除非您需要额外的数据,否则无需进一步播种。

【讨论】:

  • 所以我只需要做第1、2和3步吗?
  • 是的。事实上,除非您需要数据,否则无需播种数据库。
  • 一个萌问题,因为我的数据库中已经有表,php artisan migrate 会清除我现有的数据并留下一个空表吗?
  • 这取决于您的迁移。如果您的迁移只是为了修改表,它不会被擦除。但是,如果您在迁移的某个地方删除了表格,那么它会。
  • 我什至没有修改任何东西,所以在第 2 步中我是否只列出 /database/migrations/_create_table-name_tables.php 中的所有列?
猜你喜欢
  • 1970-01-01
  • 2016-02-08
  • 1970-01-01
  • 2014-07-02
  • 2015-10-11
  • 2017-01-27
  • 2015-04-08
  • 1970-01-01
  • 2017-06-09
相关资源
最近更新 更多