ddimonn8080
@ddimonn8080

Как правильно добавлять дату при миграции в Laravel?

Здравствуйте, создал миграцию. В ней создаю таблицу и записываю начальными данными.
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateStocksTable extends Migration
{
    public function up()
    {
        Schema::create('stocks', function (Blueprint $table) {
            $table->engine = 'InnoDB';
            $table->charset = 'utf8';
            $table->collation = 'utf8_general_ci';

            $table->increments('id');
            $table->text('title');
            $table->longText('content');
            $table->timestamps();
        });

        DB::statement('INSERT INTO `stock` (`title`, `content`, `created_at`, `updated_at`) VALUES ('some title', 'some content', '2019-04-29 00:00:00', '2019-04-29 00:00:00')');
    }

    public function down()
    {
        Schema::dropIfExists('stocks');
    }
}

id не указываю, автоинкремент заполнится автоматически, если не указать дату то после придется заполнять вручную.
Правильно ли задавать дату в миграции строкой либо можно заполнять ее автоматически датой и временем миграции?
  • Вопрос задан
  • 1020 просмотров
Решения вопроса 1
netrox
@netrox
Для записи начальных данных используются сидеры .
Для дат можно использовать :
Schema::create('stocks', function (Blueprint $table) {
            $table->engine = 'InnoDB';

            $table->increments('id');
            $table->string('title');
            $table->text('content');
            $table->dateTime('date')->default(DB::raw('CURRENT_TIMESTAMP'));
        });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы