Я создаю веб-приложение, которое использует 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.
Кто-нибудь знает, как произошла эта ошибка?Спасибо!