我不知道如何使用Laravel框架向现有的数据库表中添加新列。
我试图编辑迁移文件使用…
<?php
public function up()
{
Schema::create('users', function ($table) {
$table->integer("paid");
});
}
在终端中,我执行了php artisan migrate:install和migrate。
如何添加新列?
我不知道如何使用Laravel框架向现有的数据库表中添加新列。
我试图编辑迁移文件使用…
<?php
public function up()
{
Schema::create('users', function ($table) {
$table->integer("paid");
});
}
在终端中,我执行了php artisan migrate:install和migrate。
如何添加新列?
当前回答
你能做的就是,
Schema::create('users', function ($table) {$table->integer("paid");});
写完这个写命令后,php artisan迁移或刷新 我个人更喜欢的是刷新而不是新迁移,因为如果你做新迁移,它会删除所有的数据刷新不会。
但唯一的例外是,如果你进行了刷新如果你在表中有任何外键那么它就不会重新建立关系所以你会得到这样的错误,
不能添加外键约束
其他回答
你能做的就是,
Schema::create('users', function ($table) {$table->integer("paid");});
写完这个写命令后,php artisan迁移或刷新 我个人更喜欢的是刷新而不是新迁移,因为如果你做新迁移,它会删除所有的数据刷新不会。
但唯一的例外是,如果你进行了刷新如果你在表中有任何外键那么它就不会重新建立关系所以你会得到这样的错误,
不能添加外键约束
首先回滚之前的迁移
php artisan migrate:rollback
之后,您可以修改现有的迁移文件(添加新列、重命名列或删除列),然后重新运行迁移文件
php artisan migrate
要创建迁移,您可以在Artisan CLI中使用migrate:make命令。使用特定的名称以避免与现有模型冲突
对于拉拉维尔 5+:
php artisan make:migration add_paid_to_users_table --table=users
对于拉拉维尔 3:
php artisan migrate:make add_paid_to_users
然后需要使用Schema::table()方法(因为您正在访问一个现有的表,而不是创建一个新表)。你可以像这样添加一列:
public function up()
{
Schema::table('users', function($table) {
$table->integer('paid');
});
}
不要忘记添加回滚选项:
public function down()
{
Schema::table('users', function($table) {
$table->dropColumn('paid');
});
}
然后你可以运行你的迁移:
php artisan migrate
Laravel 4 / Laravel 5的文档都很好地介绍了这一点:
模式构建器 迁移
对于Laravel 3:
模式构建器 迁移
编辑:
用表- >美元整数(支付)- >后(“whichever_column”);将此字段添加到特定列之后。
你可以像这样在初始的Schema::create方法中添加新列:
Schema::create('users', function($table) {
$table->integer("paied");
$table->string("title");
$table->text("description");
$table->timestamps();
});
如果您已经创建了一个表,您可以通过创建一个新的迁移并使用Schema::table方法向该表添加额外的列:
Schema::table('users', function($table) {
$table->string("title");
$table->text("description");
$table->timestamps();
});
关于这一点,文档相当详尽,从版本3到版本4没有太大的变化。
在拉拉维尔 8
php artisan make:migration add_paid_to_users_table --table=users
public function up()
{
Schema::table('users', function($table) {
$table->integer('paid');
});
}
在laravel
在现有表中添加新列
php artisan make:migration add_paid_to_users_table
如果您想创建新的迁移,那么执行下面的代码
php artisan make:migration create_users_table --create=users