欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

laravel 数据库迁移报错解决

程序员文章站 2024-01-25 12:47:53
...

创建数据迁移

使用 Artisan 命令行的 migrate:make 命令创建一个迁移:(在命令行模式下使用)

php artisan migrate:make create_users_table

所有的迁移都被存放在 app/database/migrations 文件夹下,文件以时间戳命名以方便Laravel框架按时间来界定这些文件顺序.

您可以在创建迁移的时候使用 --path 选项,用来指定迁移文件存放的路径.该路径是你安装框架根目录的相对路径:

php artisan migrate:make foo --path=app/migrations

--table 和 --create 选项用来指定表名以及是否创建一个新表:

php artisan migrate:make add_votes_to_user_table --table=usersphp artisan migrate:make create_users_table --create=users

运行数据迁移

运行所有迁移(使你的所有表保持最新)

php artisan migrate

运行某个路径下的所有迁移(指定迁移文件路径)

php artisan migrate --path=app/foo/migrations

运行某个包下的所有迁移(安装或升级某个扩展包对应数据库时候使用)

php artisan migrate --package=vendor/package

注意: 如果在运行迁移的时候收到一个 "class not found" 的错误,请尝试运行 composer dump-autoload 命令.

在生产环境中强制使用数据迁移

有些迁移操作具有破坏性,会导致你丢失数据库中原有数据.为了防止你运行这样的命令造成不必要的破坏,这些命令运行的时候会询问你是否确定要这样做.如果你想运行这样的命令而不出现提示,可以使用 --force 选项:

php artisan migrate --force

回滚数据迁移(即使回滚,原有数据也被破坏了,只能回滚表结构,所以别拿这个功能当救命稻草)

回滚最后一次迁移

php artisan migrate:rollback


不要着急: 运行 composer dump-autoload

再试一次,ok.见图。

回滚所有迁移

php artisan migrate:reset

回滚所有迁移并重新运行数据迁移

php artisan migrate:refreshphp artisan migrate:refresh --seed