Php 更改sentry 2用户迁移表的主键

Php 更改sentry 2用户迁移表的主键,php,mysql,laravel,laravel-4,cartalyst-sentry,Php,Mysql,Laravel,Laravel 4,Cartalyst Sentry,我已经尝试过这段代码,并通过执行以下操作来运行sentry 2附带的迁移: php artisan迁移:-包cartalyst/sentry。 我能够在数据库中创建用户、组和其他表 如何将user表的ID列从主键更改为作为迁移添加的userID?试试看 使用php artisan migrate生成新的迁移:生成并编写以下代码 public function up() { Schema::table('users', function(Blueprint $table) {

我已经尝试过这段代码,并通过执行以下操作来运行sentry 2附带的迁移: php artisan迁移:-包cartalyst/sentry。 我能够在数据库中创建用户、组和其他表

如何将user表的ID列从主键更改为作为迁移添加的userID?

试试看

使用php artisan migrate生成新的迁移:生成并编写以下代码

public function up() {
    Schema::table('users', function(Blueprint $table) {
        $table->dropPrimary('users_id_primary');
        $table->integer("userID");
        $table->primary('userID');
    });
}

public function down() {
    Schema::table('users', function(Blueprint $table) {
        $table->dropPrimary('userID');
        $table->dropColumn('userID');
        $table->primary('users_id_primary');

    });
}
然后运行php artisan迁移之后

下一步,更改您的用户模型

下一个

接下来在app/config/packages/cartalyst/sentry中打开配置文件并进行编辑

'users' => array(
 'model' => 'User',
 ...
 ),

希望这会有帮助:

生成一个新的迁移,将userID添加到users表中,然后在列上设置primary,这应该可以解决您的问题。但是它已经将“id”作为主键,因此它告诉我不能有两个主键,设置另一个主键对引用完整性有什么影响?是否要将sentry users表中的列“id”重命名为“userID”?这会影响引用中的任何内容吗?因为我想,哨兵一定是把“id”这把主键和什么东西绑在一起了。我只是想确保在将主键更改为另一列后,不会引起任何问题。此更改是否会影响sentry代码中使用“id”查询数据库的位置?
php artisan config:publish cartalyst/sentry
'users' => array(
 'model' => 'User',
 ...
 ),