Ошибка команды Laravel при вставке данных в базу данных - PullRequest
0 голосов
/ 14 ноября 2018

Я создаю веб-приложение, которое использует Laravel Voyager в качестве бэкэнда.Оттуда я могу без проблем манипулировать данными в базе данных.И теперь я создал команду, запустив php artisan make:command, которая будет вставлять данные в базу данных

Это мой код:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use DateTime;
use DB;
use App\CronTest;


class SampleCron extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'sample:cron';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Sample CRON';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $datetime = new DateTime(); 
        $timestamp = $datetime->format('Y-m-d H:i:s');

        // DB::table('cron_tests')->insert([
        //     'name' => $timestamp
        // ]);

        CronTest::create(['name' => $timestamp]);
    }
}

Это мой CronTest.php

namespace App;

use Illuminate\Database\Eloquent\Model;

class CronTest extends Model
{
    protected $fillable = ["name"];
}

поэтому каждый раз, когда я буду запускать php artisan sample:cron, он будет вставлять $timestamp в базу данных.На моем локальном компьютере нет проблем, так как я использовал Docker для запуска этого проекта.Но на моем Dev-сервере, который в Amazon Web Service (AWS), я разделил БД в RDS в целях безопасности.Теперь произошло то, что команда php artisan sample:cron вернет ошибку

Это ошибка

In Connection.php line 664:

  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mydb.cro  
  n_tests' doesn't exist (SQL: insert into `cron_tests` (`name`, `updated_at`  
  , `created_at`) values (2018-11-14 06:31:19, 2018-11-14 06:31:19, 2018-11-1  
  4 06:31:19))                                                                 


In PDOConnection.php line 79:

  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mydb.cro  
  n_tests' doesn't exist                                                       


In PDOConnection.php line 77:

  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mydb.cro  
  n_tests' doesn't exist                                                       

Я проверил свою базу данных RDS с помощью MySQL Workbench и попытался запустить SQL-запрос mydb.cron_tests иэто там.Я фактически скопировал свою локальную базу данных и импортировал ее в RDS.

Кто-нибудь знает, как произошла эта ошибка?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...