gpt4 book ai didi

sql - Laravel 迁移 - 是否可以使用 SQL 而不是模式命令来创建表和字段等?

转载 作者:搜寻专家 更新时间:2023-10-30 19:45:10 24 4
gpt4 key购买 nike

我们有一个现有的复杂数据库模式,包括索引、约束、触发器、表等。

使用 liquibase,您可以指向变更集中的纯 sql 文件,这可能是第一次(初始模式创建)迁移的整个数据库的转储。

有没有什么办法可以用 laravel artisan 迁移系统做到这一点?

我们希望使用 SQL 语言更新所有数据库(因为我们已经知道它,并且因为我们只会使用 mysql),但需要框架(migrate 或 liquibase)以正确的顺序应用更改等等(因此他们会在数据库中记录已应用的更改等)。

如果没有,有没有人在 laravel 中使用过 liqubase?唯一的问题是它无法读取 .env db 连接字符串,并且每个开发人员都需要安装 liqubase(不是世界末日,但如果 laravel 内置系统可以使用 sql,它将节省我们时间和精力)

最佳答案

是的,可以创建使用原始 SQL 的迁移

您不限于可以在迁移中运行的代码。 Run raw SQL queries使用数据库门面。此示例显示了在同一迁移中使用的两种方法。

class AddColumnsToUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string('name');
$table->string('age');
$table->timestamps();
});

DB::update('update users set age = 30 where name = ?', ['John']);
}
}

关于sql - Laravel 迁移 - 是否可以使用 SQL 而不是模式命令来创建表和字段等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46507655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com