我正在Laravel Framework8.33.1
上进行开发,并在本地环境和生产环境中进行以下迁移。
class CreateCompanyTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('company', function (Blueprint $table) {
$table->id();
$table->integer('company_id');
$table->integer('messageId');
$table->string('url');
$table->timestamps();
/**
New table:
$table->id();
$table->integer('company_id')->nullable($value = true);
$table->integer('messageId');
$table->integer('people_id')->nullable($value = true);
$table->string('url')->nullable($value = true);
$table->timestamps();
*/
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('company');
}
}
我想用以下经过调整的字段来更改迁移:
$table->id();
$table->integer('company_id')->nullable($value = true);
$table->integer('messageId');
$table->integer('people_id')->nullable($value = true);
$table->string('url')->nullable($value = true);
$table->timestamps();
由于我正在生产中使用当前的迁移,我不希望丢失数据。
我只是尝试用我的新表定义修改迁移文件,但我得到了:
> php artisan migrate
Nothing to migrate.
有什么建议如何在Laravel适当地改变迁移?
谢谢你的回复!
若要修改现有表,请创建新的迁移。
PHP工匠制作:Migration alter_company_table
class AlterCompanyTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('company', function (Blueprint $table) {
$table->integer('company_id')->nullable()->change();
$table->integer('people_id')->nullable();
$table->string('url')->nullable()->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('company', function (Blueprint $table) {
$table->integer('company_id')->nullable(false)->change();
$table->dropColumn('people_id');
$table->string('url')->nullable(false)->change();
});
}
}
SQLAlchemy变更日志和迁移指南现在集成在主文档中。 当前迁移指南 SQLAlchemy 1.4有什么新功能? SQLAlchemy 2.0概述和状态 迁移到Alchemy 更改日志 1.4变更日志 1.3换热器 1.2换热器 1.1换热器 1换热器 0.9换热器 0.8换热器 0.7换热器 0.6换热器 0.5换热器 0.4换热器 0.3换热器 0.2换热器 0.1换热器 旧的迁移指南 S
问题内容: 我正在尝试学习一些Flask,并且正在使用Flask-Migrate 1.6.0 所以我做了一个看起来像这样的模型 然后我将其更改为完全相同的东西,除了这一行: 当我运行我的 命令,它不会检测列类型的更改。我已经阅读了它,我知道当我更改env.py并添加compare_type = True变量时,它应该将其选中。但是我这样做无济于事,该方法现在看起来像这样 好的,所以我的问题是: 更
我目前正在研究Flyway作为Liquibase的替代方案,但在文档中无法找到以下问题的答案: 假设在生产环境中部署后发现迁移包含错误。回想起来,不应该按原样执行,但已经太晚了。但是,我们想用固定版本的替换迁移,这样从头开始填充的数据库就不会遭受相同的错误。 在 Liquibase 中,您将修复原始变更集并使用
我有一个已经分配了默认值的表。例如,我们可以查看以下内容: 现在我想更改活动字段的默认值。我期待着做这样的事情: 但它当然告诉我专栏已经在那里了。如何简单地更新x列的默认值而不删除该列?
我用未签名的创建了一个迁移。如何在新迁移中编辑,使其也可以?
我需要重命名一个Flyway迁移文件。我已经在本地数据库上应用了迁移。 如何删除或重置本地postgres数据库,使其不存在Flyway迁移异常?