Yii2

yii2 Миграция из SQL файла -- как загрузкить дамп. Пример миграции

Используйте:

$this->execute()

Например:

<?php

use yii\db\Migration;

/**
 * Class m180621_120026_install_mgd_old_users_dump
 */
class m185521_188026_install_old_users_dump extends Migration
{
    public $maxSqlOutputLength = 100;
    /**
     * {@inheritdoc}
     */
    public function safeUp()
    {
        $this->execute(
            file_get_contents(
                    __DIR__ . '/dumps/user_dump.sql')
        ); 
    }

yii2 Пример миграции с полями в т.ч: decimal, bool (логического), unsigned Not NUll, Defautl value (по умолчанию), внешний ключ


public function safeUp()
{

    //Добавляем все необходимые поля
    $this->createTable($this->tableName, [
        'id' => $this->primaryKey()->notNull(),
        'organization_id' =>  $this->integer()->notNull()
                ->comment('Связь с  организации'),
        'frmo_id' =>   $this->integer()->defaultValue(null)
            ->comment('id здания '),
        'build_name' => $this->string(256)->notNull()
            ->comment('Наименование здания'), // для строк переменной длины, напр. вместо varchar(256)

yii2 Комментарий ко всей таблице в миграции -- пример кода (движок ,начальное значение id)

Комментарий как и всё опции, что идут после перечисления колонок в SQL запросе можно добавить так:

//Добавляем все необходимые поля
$this->createTable($this->tableName, [
	'id' => $this->primaryKey()->notNull(),
	'organization_id' =>  $this->integer()
               ->defaultValue(null)->comment('Связь с таблицей организации'),
	],
	"COMMENT 'Тут комментарий к таблице '"//  SQL который добавляется после полей
);

codeception submitForm Отправка формы с теми значениями, которые в ней уже есть -- или перезапись их

Просто передайте вторым аргументом пустой массив:

$I->submitForm('#logout-form', []);

-- а можно используя ключи-значения массива, изменить значения некоторых полей формы

Codeception и Yii2 -- установка и использование (команды создания тестов)

Установка "вручную"

Для начала убедитесь что кодэспешн у вас установлен или сами установите его.

И выполните в корне проекта команду изначальной настройки (с учетом псевдонима):

cept bootstrap

-- создаст необходимые файлы и папки в директории test/

Создание тестов

Команды для создания тестов:

php Indirect modification of overloaded property ... has no effect -- Ошибка при работе с виртуальными свойствами (часто в MVC)

Indirect modification of overloaded property ... has no effect

В моем случае я пытаюсь записать значение в массив.

Причина

Скорее всего вы пишити что-то вроде:

$this->report_ids[] = $report->_id; // добавляем в массив

но при этом у вас нет реального поля report_ids, а используются магические методы _set и _get
-- поэтому когда вы пишите так как выше обращение вида:

yii2 mongodb ActiveRecord Сортировка

По-идее так же как и в любой эктиврекорд:

$sort = 'ASC';
$reports = Report::find()
		->where(['in', '_id', $this->report_ids])
		->orderBy("creation_data $sort")
		->all();

yii2 commad -- переделать запрос из лога в формат mongodb. Изменение формата

Руками можно по такому принципу -- из:

ИМЯБАЗЫ.command(
{"aggregate":"ИМЯКОЛЛЕКЦИИ",
	"pipeline":[	
        {"$limit":5}
	],
    "allowDiskUse":true,
	"cursor":{"batchSize":1000}
})

в:

db.ИМЯКОЛЛЕКЦИИ.aggregate([
	{"$limit":5}
],
{"allowDiskUse":true,"cursor":{"batchSize":50000}}
)

TypeError: jQuery(...).yiiActiveForm is not a function yii2 -- jquery подлючается дважды

TypeError: jQuery(...).yiiActiveForm is not a function

-- если вы используете разные версии jquery или просто нестандартную,
то возможно у вас файл jquery подключился дважды.

Pages

Subscribe to RSS - Yii2