migration

typeorm Пример кода миграции

Пример создание и у удаления таблицы (пострес):

import { MigrationInterface, QueryRunner } from 'typeorm';

export class StudetsTest1634028529814 implements MigrationInterface {
  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `CREATE TABLE students (
            student_id  BIGSERIAL,
            student_name CHAR(100),
            student_age INT
        );`,
    );
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(`DROP TABLE students;`);
  }
}

postgresql doctrine Код в миграции $this->addSql(CREATE SCHEMA public) - Как его убрать

Проблема

Генератор миграции добавляет в down() код:

$this->addSql('CREATE SCHEMA public');

-- который вообще говоря приводит к ошибке при откате (т.е. эту схему никто и не удалял)

Решение

В добавьте класс (пространство имен может быть любым):

doctrine migration Настройка миграций в "любом" проекте и движке.

С помощью композера устанавливаем модуль, пример конфига:

    "require": {
        "doctrine/migrations": "v1.7"
    },

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

./vendor/bin/doctrine-migrations

Источник: https://www.doctrine-project.org/project...

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

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

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

yii2 Already at ''. Nothing needs to be done. -- Что делаеть если откат миграции не помогает

Ситуация

Если вы забыли убрать в ветке down вашей миграции:

 return false; 

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

Subscribe to RSS - migration