hasTable(ReminderMapper::TABLE_NAME)) { return null; } $table = $schema->createTable(ReminderMapper::TABLE_NAME); $table->addColumn('id', Types::BIGINT, [ 'autoincrement' => true, 'notnull' => true, 'length' => 20, 'unsigned' => true, ]); $table->addColumn('user_id', Types::STRING, [ 'notnull' => true, 'length' => 64, ]); $table->addColumn('file_id', Types::BIGINT, [ 'notnull' => true, 'length' => 20, 'unsigned' => true, ]); $table->addColumn('due_date', Types::DATETIME, [ 'notnull' => true, ]); $table->addColumn('updated_at', Types::DATETIME, [ 'notnull' => true, ]); $table->addColumn('created_at', Types::DATETIME, [ 'notnull' => true, ]); $table->addColumn('notified', Types::BOOLEAN, [ 'notnull' => false, 'default' => false, ]); $table->setPrimaryKey(['id']); $table->addUniqueIndex(['user_id', 'file_id', 'due_date'], 'reminders_uniq_idx'); return $schema; } }