生产迁移新鲜
Production migration fresh
如果我想在我的产品中添加一个新列,它是如何工作的 table?我知道当我制作 migration:fresh.
时我会丢失所有数据
1) 是否可以像我对 fastnetnr 列那样更改迁移并添加一个新列?
public function up()
{
Schema::create('kontaktforms', function (Blueprint $table) {
$table->increments('id');
$table->string('navn');
$table->string('mobilnr');
//new fastnetnr column added
$table->string('fastnetnr')->nullable();
$table->string('mail');
$table->string('emne');
$table->text('beskrivelse');
$table->timestamps();
});
2) 还是我必须添加一个带有 php artisan 的新列以便输出是这样的?
public function up()
{
Schema::table('kontaktforms', function($table) {
$table->string('fastnetnr')->nullable();
});
}
逻辑上您可以按照以下步骤完成;
- 回滚你的 table
php artisan migrate:rollback
或 php artisan
migrate:rollback --step=1
- 编辑您的迁移文件
- 迁移回来
php artisan migrate
但这不是最佳实践,尤其是在生产中。所以你必须为修改创建新的迁移文件 table 并迁移它。
创建新的迁移文件
php artisan make:migration add_fastnetnr_to_kontaktforms_table --table=kontaktforms
并像这样添加新列
public function up()
{
Schema::table('kontaktforms', function (Blueprint $table) {
$table->string('fastnetnr')->nullable();
});
}
public function down()
{
Schema::table('kontaktforms', function (Blueprint $table) {
$table->dropColumn('fastnetnr');
});
}
并迁移
php artisan migrate
如果我想在我的产品中添加一个新列,它是如何工作的 table?我知道当我制作 migration:fresh.
时我会丢失所有数据1) 是否可以像我对 fastnetnr 列那样更改迁移并添加一个新列?
public function up()
{
Schema::create('kontaktforms', function (Blueprint $table) {
$table->increments('id');
$table->string('navn');
$table->string('mobilnr');
//new fastnetnr column added
$table->string('fastnetnr')->nullable();
$table->string('mail');
$table->string('emne');
$table->text('beskrivelse');
$table->timestamps();
});
2) 还是我必须添加一个带有 php artisan 的新列以便输出是这样的?
public function up()
{
Schema::table('kontaktforms', function($table) {
$table->string('fastnetnr')->nullable();
});
}
逻辑上您可以按照以下步骤完成;
- 回滚你的 table
php artisan migrate:rollback
或php artisan migrate:rollback --step=1
- 编辑您的迁移文件
- 迁移回来
php artisan migrate
但这不是最佳实践,尤其是在生产中。所以你必须为修改创建新的迁移文件 table 并迁移它。
创建新的迁移文件
php artisan make:migration add_fastnetnr_to_kontaktforms_table --table=kontaktforms
并像这样添加新列
public function up()
{
Schema::table('kontaktforms', function (Blueprint $table) {
$table->string('fastnetnr')->nullable();
});
}
public function down()
{
Schema::table('kontaktforms', function (Blueprint $table) {
$table->dropColumn('fastnetnr');
});
}
并迁移
php artisan migrate