我刚刚开始学习codeigniter 4。我正在尝试迁移我的数据库,但是当我尝试两次迁移同一个表时,它给出了错误Cannot declare class App\Database\Migrations\Barang, because the name is already in use。但是我的迁移文件没有一个与您在下图中看到的文件名相同
Cannot declare class App\Database\Migrations\Barang, because the name is already in use
2ekbmq321#
当您执行php spark make:migration barang时,CodeIgniter 4会在命名空间App\Database\Migrations下建立移转档案app/Database/Migrations/2022-03-22-135842_Barang.php,其类别名称为Barang。当您第二次或第三次运行php spark make:migration barang时,CodeIgniter 4将执行与上面指定的相同的过程,只是各个迁移文件将具有不同的文件名,更具体地说,不同的“时间戳前缀”。当您现在运行php spark migrate来启动迁移过程时,CodeIgniter 4发现在同一命名空间下存在冲突的类名,因此出现错误。
php spark make:migration barang
App\Database\Migrations
app/Database/Migrations/2022-03-22-135842_Barang.php
Barang
php spark migrate
使用以下命令创建新迁移时,始终指定唯一的“迁移名称”:php spark make:migration unique_migration_name_here最优选地,“迁移名称”应当简要地描述迁移的实际意图php spark make:migration alter_users_rename_profile_pic_add_timestamps检查我之前发布的这个答案:codeigniter 4 migration file not creating table
php spark make:migration unique_migration_name_here
php spark make:migration alter_users_rename_profile_pic_add_timestamps
1条答案
按热度按时间2ekbmq321#
解释:
当您执行
php spark make:migration barang
时,CodeIgniter 4会在命名空间App\Database\Migrations
下建立移转档案app/Database/Migrations/2022-03-22-135842_Barang.php
,其类别名称为Barang
。当您第二次或第三次运行
php spark make:migration barang
时,CodeIgniter 4将执行与上面指定的相同的过程,只是各个迁移文件将具有不同的文件名,更具体地说,不同的“时间戳前缀”。当您现在运行
php spark migrate
来启动迁移过程时,CodeIgniter 4发现在同一命名空间下存在冲突的类名,因此出现错误。解决方案:
使用以下命令创建新迁移时,始终指定唯一的“迁移名称”:
php spark make:migration unique_migration_name_here
最优选地,“迁移名称”应当简要地描述迁移的实际意图
php spark make:migration alter_users_rename_profile_pic_add_timestamps
检查我之前发布的这个答案:
codeigniter 4 migration file not creating table