【问题标题】:SQLSTATE[42P07]: Duplicate table: 7 ERROR: relation "migrations" already existsSQLSTATE [42P07]:重复表:7 错误:关系“迁移”已经存在
【发布时间】:2017-01-28 19:09:29
【问题描述】:
  • Laravel 版本:5.1
  • PHP 版本:5.6
  • 数据库驱动程序和版本:psql

说明:

我第一次运行php artisan migrate,它运行良好。

然后:

我已向 alter 我的一张表添加了另外 1 个迁移脚本。


我一运行php artisan migrate,就开始看到这个错误。


我的 database.php 中有这个设置

'default' => env('DB_CONNECTION', 'pgsql'),


'pgsql'       => [
    'driver'      => 'pgsql',
    'host'        => env('DB_HOST'),
    'database'    => env('DB_DATABASE'),
    'username'    => env('DB_USERNAME'),
    'password'    => env('DB_PASSWORD'),
    'charset'     => 'utf8',
    'collation'   => 'utf8_unicode_ci',
    'prefix'      => '',
    'strict'      => false,
    ],

请让我知道我还能提供什么。

【问题讨论】:

  • 您是否执行了 migrate:rollback 命令?
  • 不,我没有。我现在不需要这样做。
  • 然后从数据库中手动删除
  • 我第一次运行它,它运行良好。它添加了所有模式。然后,我又添加了 1 个迁移脚本,运行 php artisan migrate,然后我开始看到这个错误。
  • @NinoArmani:你有 postgres 作为你的数据库吗?还是 mysql ?

标签: php laravel laravel-5 database-migration


【解决方案1】:

实际的解决方案是将'schema' => 'public',附加到psql DB_CONNECTION的末尾。

'pgsql'       => [
    'driver'      => 'pgsql',
    'host'        => env('DB_HOST'),
    'database'    => env('DB_DATABASE'),
    'username'    => env('DB_USERNAME'),
    'password'    => env('DB_PASSWORD'),
    'charset'     => 'utf8',
    'collation'   => 'utf8_unicode_ci',
    'prefix'      => '',
    'strict'      => false,
    'schema'   => 'public', <------- ADD HERE
    ],

现在,php artisan migrate 工作正常。

【讨论】:

    【解决方案2】:

    这是一个老问题,但我最近遇到了这个问题,似乎在从另一个数据库所有者复制我的迁移表之后发生了变化。

    因此,请检查您的数据库和表所有者,并确保表属于同一用户。

    【讨论】:

    • 你从哪里开始检查?我的项目托管在 Heroku 上
    • 可以用这个命令查看; SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';
    • 这里有同样的问题.. 复制生产数据库以暂存暂存中的表时,仍然有生产数据库的所有者。复制数据库后,我在新的暂存数据库上运行此命令:REASSIGN OWNED BY production_user TO staging_user;
    猜你喜欢
    • 1970-01-01
    • 2013-02-04
    • 2023-03-08
    • 2015-04-28
    • 2018-04-07
    • 2019-11-17
    • 2012-11-18
    • 2015-09-01
    • 2012-09-18
    相关资源
    最近更新 更多