Skip to content

Commit 559ed0e

Browse files
committed
Fixed #9
1 parent bf15050 commit 559ed0e

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

scripts/steps/step-000.2.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -357,11 +357,35 @@ New migration created successfully.
357357
с тем же именем, что и имя файла. Этот класс содержит два метода `up()` и `down()`. Первый описывает, что происходит,
358358
когда миграция применяется, второй - что происходит, когда миграция аннулируется. Код принято писать так, чтобы он работал
359359
для любой СУБД, пусть то MySQL, PostgreSQL, SQlite или другая. Для того, чтобы писать универсальный код для всех СУБД
360-
в Yii реализован <a href="http://www.yiiframework.com/doc-2.0/yii-db-schema.html" targer="_blank">абстрактный класс yii\db\Schema</a>.
360+
в Yii реализован <a href="http://www.yiiframework.com/doc-2.0/yii-db-schema.html" target="_blank">абстрактный класс yii\db\Schema</a>.
361361
Этот класс описывает схему, как хранится информация в СУБД. При создании запроса определяется на основании `dns` компонента
362362
`yii\db\Connection`, какую схему нужно использовать. В свою очередь эта схема реализует работу с данными в зависимости от СУБД.
363+
Кроме этого, класс `yii\db\Schema` содержит константы, которые позволяют описывать типы данных:
363364

364-
Миграция для таблицы, которая будет храненить данных из формы "Опрос", выглядит следующим образом(Подробнее в в файле
365+
```php
366+
/**
367+
* Поддерживаемые типы данных для описания колонок.
368+
*/
369+
const TYPE_PK = 'pk';
370+
const TYPE_BIGPK = 'bigpk';
371+
const TYPE_STRING = 'string';
372+
const TYPE_TEXT = 'text';
373+
const TYPE_SMALLINT = 'smallint';
374+
const TYPE_INTEGER = 'integer';
375+
const TYPE_BIGINT = 'bigint';
376+
const TYPE_FLOAT = 'float';
377+
const TYPE_DOUBLE = 'double';
378+
const TYPE_DECIMAL = 'decimal';
379+
const TYPE_DATETIME = 'datetime';
380+
const TYPE_TIMESTAMP = 'timestamp';
381+
const TYPE_TIME = 'time';
382+
const TYPE_DATE = 'date';
383+
const TYPE_BINARY = 'binary';
384+
const TYPE_BOOLEAN = 'boolean';
385+
const TYPE_MONEY = 'money';
386+
```
387+
388+
Миграция для таблицы, которая будет хранить данных из формы "Опрос", выглядит следующим образом(Подробнее в в файле
365389
`yii2-app-advanced/console/migrations/m150428_104828_interview.php`) :
366390

367391
```php
@@ -375,6 +399,14 @@ $this->createTable('{{%interview}}', [
375399
], $tableOptions);
376400
```
377401

402+
Обратите внимание, что для описания типов данных используется не только константы, но и ключевые слова, например `. ' NOT NULL'`.
403+
Вы можете дополнять типы данных ключевыми словами до нужного вам состояния.
404+
405+
<p class="alert alert-info">
406+
Ключевое слова `Unsigned` не рекомендуется использовать в миграциях -
407+
<a href="https://github.com/yiisoft/yii2/issues/1032" target="_blank">обсуждение на GitHub</a>.
408+
</p>
409+
378410
С применением миграций мы уже сталкивались, когда создавали таблицу `user`. Применим новую миграцию:
379411

380412
```

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy