Laravel и PostGres – миграция вниз() не приведет к удалению таблицы (расширение TimeScale)Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel и PostGres – миграция вниз() не приведет к удалению таблицы (расширение TimeScale)

Сообщение Anonymous »

Вот как выглядит create_facts_table:

Код: Выделить всё

class CreateFactsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('pgsql')->create('facts', function (Blueprint $table) {
$table->bigInteger('entry_id');
$table->string('tag');
$table->timestampTz('time');
$table->double('sensor_value');

$table->index(['entry_id', 'tag', 'time']);
$table->unique(['entry_id', 'tag', 'time']);
});

DB::connection('pgsql')->statement('SELECT create_hypertable(\'facts\', \'time\');');
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
// Tried both, neither would delete the table
Schema::connection('pgsql')->dropIfExists('facts');
//DB::connection('pgsql')->statement('DROP TABLE facts;');
}
}
Я не получаю никаких ошибок от down(). Я могу войти в систему как пользователь БД, указанный в моем файле .env, и запустить факты DROP TABLE.
Когда я запускаю миграцию php artisan:fresh up() не может создать таблицу и выдает ошибку дублирования таблицы:

Код: Выделить всё

Duplicate table: 7 ERROR:  relation "facts" already exists
После удаления таблицы вручную я могу запустить миграцию php artisan:fresh. Я должен указать соединение('pgsql'), поскольку я использую несколько баз данных. Полу не связано, но я использую расширение TimeScaleDB (следовательно, create_hypertable())

Подробнее здесь: https://stackoverflow.com/questions/646 ... -extension
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»