laravel迁移用于视图中的更改列类型

时间:2020-05-18 07:07:02

标签: laravel migration

我使用laravel migartion创建一些表,然后为使用我的表的视图创建迁移。 现在,我想更改此视图中使用的列的类型(为此创建一个新的迁移。)。但是,PostgreSQL不允许我更改列类型,因为视图中使用了column。我想知道什么是解决此问题的最佳方法。

我试图使用创建视图的迁移来删除它,然后在更改列类型后重新创建它,但是存在问题,因为迁移没有名称空间,我不知道这是解决此问题的好方法。

2 个答案:

答案 0 :(得分:0)

首先,我的英语不好。我了解的是,您正在使用现有表创建新迁移?如果该表已经存在,则可以尝试使用此方法更改列名

Schema::table('users', function (Blueprint $table) {
    $table->string('name', 50)->change();
});

How to mount a single file in a volume

答案 1 :(得分:0)

我用以下级别解决了我的问题:

  1. common-queries中添加文件夹project/database/migrations/

  2. CommonQueries文件夹位置的composer.json中添加project/database/migrations/common-queries命名空间。

  3. 将我的视图createdrop添加到class MyCurrentView中(例如)。

  4. 在旧的迁移updown函数中使用此类来创建和删除视图

  5. 在更改列类型之前在新的迁移和删除视图中使用此类,在更改列类型之后创建视图。

相关问题