Giperoglif
@Giperoglif
php разработчик

Yii2 миграции в Oracle?

Странное поведение у миграций, когда поменял подключение с Posgresql на Oracle.
Смотрите:

class m190325_054540_add_table_news extends Migration {

	public function safeUp() {
		$this->createTable('news', [
			'id'           => Schema::TYPE_PK,
			'old_id'       => Schema::TYPE_INTEGER . ' NOT NULL',
			'category_id'  => Schema::TYPE_SMALLINT . ' NOT NULL',
			'date'         => Schema::TYPE_DATETIME . ' NOT NULL',
			'title'        => Schema::TYPE_STRING . ' NOT NULL',
			'text'         => Schema::TYPE_TEXT . ' NOT NULL',
			'is_published' => Schema::TYPE_BOOLEAN . ' NOT NULL DEFAULT false',
			'is_hot'       => Schema::TYPE_BOOLEAN . ' NOT NULL DEFAULT false',
			'image'        => Schema::TYPE_STRING,
			'lang'         => Schema::TYPE_STRING,
			'insert_stamp' => Schema::TYPE_DATETIME . ' NOT NULL',
			'update_stamp' => Schema::TYPE_DATETIME . ' NOT NULL',
		]);


		$this->createIndex('ix-old-id', 'news', 'old_id', true);
		$this->createIndex('ix-cat-dt-pub-l', 'news', ['category_id', 'date', 'is_published', 'lang']);
	}

	/**
	 * {@inheritdoc}
	 */
	public function safeDown() {
		$this->dropTable('news');
	}
}


обычная простейшая миграция, в постгрес проходит без проблем. Оракл же ругается вот так: Exception: ORA-00907: missing right parenthesis.

Какую ему правую скобку надо? Для чего? При этом таблица создается, но запись о примененной миграции не появляется в табличке, где ей положено быть.
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
Giperoglif
@Giperoglif Автор вопроса
php разработчик
вообще чушь какая-то... таблицу migration Yii делает, а второй раз при запуске yii migrate - она ее не видит и пытается заново создать:

'ORA-00955: name is already used by an existing object
The SQL being executed was: CREATE TABLE "migration" (
	"version" varchar(180) NOT NULL PRIMARY KEY,
	"apply_time" NUMBER(10,0)
)'


Оракл зашто???(((

А самое веселое, что это 12ый оракл, а есть у меня еще коннект в 11ый. Так вот меняю на него и там тоже все нормально. Лол кек чебурек.

upd...

миграция побеждена. веселенький Оракл доставит мне еще немало наслаждений:

DEFAULT ON NULL 0
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы