我想在我的mysql数据库中更新名为'annonce'的表,我正在使用php 5.6.31的wamp服务器,我通过更改迁移文件向上添加了几列到现有表,up函数是具体来说,这是改变前的功能:
public function up()
{
Schema::create('annonce', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('ID_annonce');
$table->integer('ID_sous_categorie')->unsigned();
$table->integer('ID_compte')->unsigned();
$table->String('Titre');
$table->enum('Type',['Offre','Demande']);
$table->String('Description');
$table->date('DatePublication');
$table->integer('Longitude');
$table->integer('Latitude');
$table->foreign('ID_sous_categorie')->references('ID_sous_categorie')->on('sous_categorie')->onDelete('no action')->onUpdate('cascade');
$table->foreign('ID_compte')->references('ID_categorie')->on('categorie')->onDelete('cascade')->onUpdate('cascade');
});
}
我在表格中添加了7个新列:
public function up()
{
Schema::create('annonce', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('ID_annonce');
$table->integer('ID_sous_categorie')->unsigned();
$table->integer('ID_compte')->unsigned();
$table->String('Titre');
$table->enum('Type',['Offre','Demande']);
$table->String('Description');
$table->date('DatePublication');
$table->integer('Longitude');
$table->integer('Latitude');
$table->String('Nom');
$table->String('Prenom');
$table->String('Telephone');
$table->String('Email');
$table->String('Photo1');
$table->String('Photo2');
$table->String('Photo3');
$table->foreign('ID_sous_categorie')->references('ID_sous_categorie')->on('sous_categorie')->onDelete('no action')->onUpdate('cascade');
$table->foreign('ID_compte')->references('ID_categorie')->on('categorie')->onDelete('cascade')->onUpdate('cascade');
});
}
然而,当我运行命令时:php artisan migrate:refresh,它成功执行但是当我使用phpmyadmin检查我的数据库时,它看起来像数据已被删除(这是预期的)但是'annonce'的表结构是仍然一样,我很困惑,帮助将不胜感激。
答案 0 :(得分:0)
当Laravel创建表时,您应该使用Schema :: create,这将删除整个数据。
如果该表已存在,请考虑使用this:
Schema::table('users', function (Blueprint $table) {
$table->string('email');
});
这将添加新列