【问题标题】:php artisan migrate:make create_mytable fails: "migrate:make" is not definedphp artisan migrate:make create_mytable 失败:“migrate:make”未定义
【发布时间】:2014-11-08 13:01:27
【问题描述】:

在我的 Laravel 5 应用程序的根目录运行以下命令时,

php artisan migrate:make create_mytable

我收到以下错误:

[InvalidArgumentException]              
Command "migrate:make" is not defined.  
Did you mean one of these?              
migrate:reset                       
migrate:refresh                     
migrate:status                      
migrate:rollback                    
migrate:install                     
migrate   

在 Laravel 5 中是否有一种新的方式来开始迁移?

【问题讨论】:

  • 我认为最好选择最佳答案,我相信所有 3 个答案都是正确的

标签: laravel laravel-5 laravel-artisan artisan-migrate


【解决方案1】:

您可以访问此页面https://laravel.com/docs/6.0/migrations 并选择您正在使用的 Laravel 版本以获得正确的命令。

【讨论】:

  • 请提供更多信息,不要只引用其他链接。
【解决方案2】:

我发现输入php artisan 是件好事。它应该输出工匠命令列表:

Available commands:
  clear-compiled       Remove the compiled class file
  down                 Put the application into maintenance mode
  env                  Display the current framework environment
  help                 Displays help for a command
  inspire              Display an inspiring quote
  list                 Lists commands
  migrate              Run the database migrations
  optimize             Optimize the framework for better performance
  serve                Serve the application on the PHP development server
  tinker               Interact with your application
  up                   Bring the application out of maintenance mode
 app
  app:name             Set the application namespace
 auth
  auth:clear-resets    Flush expired password reset tokens
 cache
  cache:clear          Flush the application cache
  cache:forget         Remove an item from the cache
  cache:table          Create a migration for the cache database table
 config
  config:cache         Create a cache file for faster configuration loading
  config:clear         Remove the configuration cache file
 db
  db:seed              Seed the database with records
 event
  event:generate       Generate the missing events and listeners based on registration
 key
  key:generate         Set the application key
 make
  make:auth            Scaffold basic login and registration views and routes
  make:command         Create a new Artisan command
  make:controller      Create a new controller class
  make:event           Create a new event class
  make:job             Create a new job class
  make:listener        Create a new event listener class
  make:mail            Create a new email class
  make:middleware      Create a new middleware class
  make:migration       Create a new migration file
  make:model           Create a new Eloquent model class
  make:notification    Create a new notification class
  make:policy          Create a new policy class
  make:provider        Create a new service provider class
  make:request         Create a new form request class
  make:seeder          Create a new seeder class
  make:test            Create a new test class
 migrate
  migrate:install      Create the migration repository
  migrate:refresh      Reset and re-run all migrations
  migrate:reset        Rollback all database migrations
  migrate:rollback     Rollback the last database migration
  migrate:status       Show the status of each migration
 notifications
  notifications:table  Create a migration for the notifications table
 queue
  queue:failed         List all of the failed queue jobs
  queue:failed-table   Create a migration for the failed queue jobs database table
  queue:flush          Flush all of the failed queue jobs
  queue:forget         Delete a failed queue job
  queue:listen         Listen to a given queue
  queue:restart        Restart queue worker daemons after their current job
  queue:retry          Retry a failed queue job
  queue:table          Create a migration for the queue jobs database table
  queue:work           Start processing jobs on the queue as a daemon
 route
  route:cache          Create a route cache file for faster route registration
  route:clear          Remove the route cache file
  route:list           List all registered routes
 schedule
  schedule:run         Run the scheduled commands
 session
  session:table        Create a migration for the session database table
 storage
  storage:link         Create a symbolic link from "public/storage" to "storage/app/public"
 vendor
  vendor:publish       Publish any publishable assets from vendor packages
 view
  view:clear           Clear all compiled view files

这是一份珍贵的清单。要创建迁移文件,您需要键入:

php artisan make:migration

Laravel 上的早期版本(如 Laravel 4)使用不同的语法来创建迁移文件。

php artisan migrate:make 

这很有意义,因为你可以在 Laravel 5 中做很多事情:

make:auth            Scaffold basic login and registration views and routes
make:command         Create a new Artisan command
make:controller      Create a new controller class
make:event           Create a new event class
make:job             Create a new job class
make:listener        Create a new event listener class
make:mail            Create a new email class
make:middleware      Create a new middleware class
make:migration       Create a new migration file
make:model           Create a new Eloquent model class
make:notification    Create a new notification class
make:policy          Create a new policy class
make:provider        Create a new service provider class
make:request         Create a new form request class
make:seeder          Create a new seeder class
make:test            Create a new test class

【讨论】:

  • 这是 Laravel imo 中最大的 PiTA。如果你用谷歌搜索,几乎每个文件都说要使用 make,现在一切都错了。我用laravel一遍又一遍地遇到这种事情。即使在次要版本之间。每件事情都可能看起来微不足道,但它会浪费很多时间来尝试找到正确的命令。他们不断移动类,更改名称并添加类目录。这是一个更大的 PiTA,可以尝试保持领先。
  • @fred 事实上,一致性和可靠的文档是优秀框架/语言的关键。不幸的是,许多语言/框架都失败了。
  • 谢谢你节省了我的时间! @prosti
【解决方案3】:

是的。 Laravel 5 upwords php 命令已更新。 试试看下面。

php artisan make:migration create_mytable

这对我有用。

【讨论】:

    【解决方案4】:

    在 Laravel 5 中创建迁移的 artisan 命令是:

    php artisan make:migration create_my_table --create="my_table"

    有关所有可用参数的列表,您可以在 artisan 命令前加上 "help"

    php artisan help make:migration

    【讨论】:

      【解决方案5】:

      语法已更改为php artisan make:migration

      这里是可用的 make 命令。

      make:auth                    Create auth classes for the application
      make:console                 Create a new Artisan command
      make:controller              Create a new resource controller class
      make:filter                  Create a new route filter class
      make:migration               Create a new migration file
      make:provider                Create a new service provider class
      make:request                 Create a new form request class
      

      您可以通过运行php artisan list查看完整的命令列表


      您也可能对Laravel Generators package 不感兴趣。

      要在 Laravel 5 中使用它,你需要 "way/generators": "~3.0"

      它为您提供以下附加命令:

      generate:controller          Generate a controller
      generate:migration           Generate a new migration
      generate:model               Generate a model
      generate:pivot               Generate a pivot table
      generate:publish-templates   Copy generator templates for user modification
      generate:resource            Generate a new resource
      generate:scaffold            Scaffold a new resource (with boilerplate)
      generate:seed                Generate a database table seeder
      generate:view                Generate a view
      

      【讨论】:

      • 鬼鬼祟祟的 laravel 总是改变规则 :) 当你试图学习它时不好
      【解决方案6】:

      Laravel5 中 php artisan 可用的命令列表

      key:generate
      make:auth
      make:console
      make:controller
      make:filter
      make:migration
      make:provider
      make:request
      migrate:install
      migrate:refresh
      migrate:reset
      migrate:rollback
      publish:assets
      publish:config
      publish:migrations
      publish:views
      

      更多详情可以查看here

      【讨论】:

      • 这不能回答问题
      • 您在回答中具体提到了如何开始迁移。您只是列出了一些 artisan 中可用的命令。
      • 6 号命令用于迁移 我不是来喂人的
      • 你不需要用勺子喂食,但你确实需要回答这个问题。如果没有,请不要回答。
      【解决方案7】:

      是的,在 Laravel 5 中,这被移到了

      php artisan make:migration (followed by the usual parameters you would have used before)
      

      【讨论】:

        猜你喜欢
        • 2015-07-12
        • 2017-04-08
        • 2016-03-26
        • 2016-05-09
        • 2016-08-09
        • 1970-01-01
        • 2016-04-05
        • 1970-01-01
        相关资源
        最近更新 更多