配置pgsql(zhy0803要改数据库名)
'test_pgsql' => [
'driver' => 'pgsql',
'host' => "127.0.0.1",
'port' => 54321,
'database' => "zhy0803",
'username' => "system",
'password' => "123456",
'charset' => 'utf8',
'prefix' => "ims_",
'schema' => 'public',
'sslmode' => 'prefer',
],
加个函数(zhy0803要改数据库名)
Artisan::command('hello', function () {
//Artisan::call('config:cache');
$full_sql = "";
$db = \DB::connection("test_pgsql");
$sql = <<<EOT
select "table_name" ,"column_name","column_default" from "information_schema"."columns" where "table_catalog" ='zhy0803' and "table_schema" ='public' and data_type='boolean';
EOT;
;
$res = $db->select($sql);
foreach ($res as $item){
$table_name = $item->table_name;
$column_name = $item->column_name;
$column_default= $item->column_default;
$sing_sql = sprintf("alter table %s alter column \"%s\" type integer;
alter table %s alter column \"%s\" set default %s;
",$table_name,$column_name,$table_name,$column_name,$column_default == "true" ? 1 : 0);
$full_sql .=$sing_sql;
}
print_r($res);
print_r($full_sql);
file_put_contents("c:/pgsql_boolean.sql",$full_sql);
});
把 c:/pgsql_boolean.sql在金仓数据库管理器里处理