使用 Laravel 迁移添加额外的 table
Add extra table using Laravel Migration
我正在使用 Laravel 5.2。我使用迁移方法创建了基本的 tables。但现在我需要添加另一个额外的 table。创建模式后,我给出了 php artisan migrate
命令。但它显示 base table or view already exists Table:Users
之类的错误。我知道为什么会这样。试图重新创建已有的 table 的迁移命令。但是我需要通过迁移在 Laravel 中添加另一个额外的 table。我已经完成了这个 https://laravel.com/docs/5.2/migrations 但是我找不到任何解决方案。
如果您想创建另一个 table,只需创建新的迁移并 运行 它。
如果您尝试将列添加到现有 table,请使用 Schema::table
而不是 Schema::create
。
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
}
Schema::table('articles', function (Blueprint $table) {
$table->string('description');
}
如果你已经执行了 php artisan migrate
那么下次它会给你错误说 "Table already exists.".
因此,如果您只想执行特定的迁移,那么您可以暂时将所有已执行的迁移 php 文件移出 database/migrations文件夹然后执行
php artisan migrate
或
您可以从 tinker 执行迁移,即首先执行 php artisan tinker
,然后从迁移中执行 up 方法 的内容,但没有参数类型 Blueprint.
例如。
如果以下是你的向上迁移方法内容
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
});
那么你将不得不执行
Schema::create('users', function ($table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
});
我正在使用 Laravel 5.2。我使用迁移方法创建了基本的 tables。但现在我需要添加另一个额外的 table。创建模式后,我给出了 php artisan migrate
命令。但它显示 base table or view already exists Table:Users
之类的错误。我知道为什么会这样。试图重新创建已有的 table 的迁移命令。但是我需要通过迁移在 Laravel 中添加另一个额外的 table。我已经完成了这个 https://laravel.com/docs/5.2/migrations 但是我找不到任何解决方案。
如果您想创建另一个 table,只需创建新的迁移并 运行 它。
如果您尝试将列添加到现有 table,请使用 Schema::table
而不是 Schema::create
。
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
}
Schema::table('articles', function (Blueprint $table) {
$table->string('description');
}
如果你已经执行了 php artisan migrate
那么下次它会给你错误说 "Table already exists.".
因此,如果您只想执行特定的迁移,那么您可以暂时将所有已执行的迁移 php 文件移出 database/migrations文件夹然后执行
php artisan migrate
或
您可以从 tinker 执行迁移,即首先执行 php artisan tinker
,然后从迁移中执行 up 方法 的内容,但没有参数类型 Blueprint.
例如。 如果以下是你的向上迁移方法内容
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
});
那么你将不得不执行
Schema::create('users', function ($table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
});