Amo*_*nra 9 php doctrine laravel
我试图重命名我的localhost中的数据库列,以便我以后可以在开发和生产中进行
我使用laravel 5并安装了doctrine dbal.
我的迁移代码:
$table->renameColumn('puesto', 'aux');
Run Code Online (Sandbox Code Playgroud)
我跑完php artisan migrate后告诉我
[Doctrine\DBAL\DBALException]
Unknown database type json requested, Doctrine\DBAL\Platforms\PostgreSqlPlatform may not support it.
Run Code Online (Sandbox Code Playgroud)
我试图重命名的列甚至不是json,虽然表中有json列,实际上只有一个名为'alianzas'.我的问题是,如何从迁移中重命名列,而不是在数据库中手动重命名.
sur*_*190 11
看起来laravel只是建议安装.
你可以安装它:
composer require doctrine/dbal
Run Code Online (Sandbox Code Playgroud)
小智 9
修改列
先决条件
在修改列之前,请务必将doctrine/dbal依赖项添加到composer.json文件中.Doctrine DBAL库用于确定列的当前状态,并创建对列进行指定调整所需的SQL查询.
"require": {
"doctrine/dbal": "^2.5"
},
composer require doctrine/dbal
Run Code Online (Sandbox Code Playgroud)
更新列属性
change方法允许您将现有列修改为新类型,或修改列的属性.例如,您可能希望增加字符串列的大小.要查看更改方法的实际操作,我们将name列的大小从25增加到50:
Schema::table('users', function ($table) {
$table->string('name', 50)->change();
});
Run Code Online (Sandbox Code Playgroud)
小智 2
即使doctrine/dbal安装了 Laravel 5.1,此错误仍然会发生。
作为临时解决方法,您可以使用原始 SQL 编写迁移,如下所示:
public function up(){
DB::statement("ALTER TABLE table_name RENAME puesto TO aux");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10397 次 |
| 最近记录: |