Я создаю новое приложение с laravel (Laravel 4) и имею некоторые проблемы с настройкой базы данных через миграции.
Я сделал файл миграции с:
artisan migrate:make --table="jobs" --create jobs Создав файл в базе данных / миграциях, как и ожидалось, я сделал несколько модов, и пошел, чтобы запустить его, используя
 artisan migrate --env=local 
  Но я получаю ответ "Nothing to migrate" 
  Если я попробую запустить без --env=local , он использует database.php в папке config (не в локальной / промежуточной / производственной папке), которую мы не хотим использовать, так как это не будет специфично для среды. 
  Моя первая мысль была в порядке, может быть, мне нужно поставить флаг env на migrate:make call, поэтому я попробовал это, но получил ошибку, заявив, что не может создать файл миграции.  Тогда я подумал, что в любом случае нет смысла делать env-ориентированные миграции … они должны быть созданы родовыми и просто запускаться на основе env, поэтому в конце все среды используют одни и те же сценарии миграции. 
Поэтому я немного застрял здесь, куда идти отсюда
Перед командой migrate необходимо указать среду.
 artisan --env=local migrate 
  Запуск artisan help показывает формат, в котором должны следовать команды. 
 artisan help Usage: [options] command [arguments] 
Решено.
  Решение состояло в том, чтобы просто отредактировать файл local / database.php (или production / database.php и т. Д.), Убедившись, что переменная пути миграции указывает на местоположение, которое migrate:make создает файлы миграции, просто измените 
 'application' => __DIR__.'/../database/migrations', 
в
 'application' => DIR.'/../../database/migrations', 
Если вы измените миграцию после ее запуска, сначала вам нужно отменить миграцию.
 php artisan migrate:rollback 
Продолжайте работать, пока миграция, которую вы изменили, не откат. Кроме того, вы можете сбросить всю схему с помощью
 php artisan migrate:reset 
Но тогда вам нужно будет назвать свои миграции нормальными, чтобы обновить их.
 php artisan migrate 
Наконец, вы можете выполнить сброс, а затем выполнить миграцию, вызвав
 php artisan rebuild 
Также обратите внимание, что, как правило, неправильная практика заключается в том, чтобы модифицировать ваши миграции после их создания, если только вы просто не сделали это. После его развертывания вы не должны изменять его и вместо этого создавать новый файл миграции.
Надеюсь это поможет.
Редактировать: я как-то пропустил индикатор Laravel 4. Большинство из этих команд все еще работают, я верю, но вам, возможно, придется приспособиться.
  Я вычислил решение для запуска migrate для разных баз данных.  В принципе, команда artisan migrate --env=local не работает.  Но мы можем определить новую строку соединения в config\database.php .  Например: 
 <?php 'mysql_testing' => [ 'driver' => 'mysql', 'host' => env('DB_TESTING_HOST'), 'database' => env('DB_TESTING_DATABASE'), 'username' => env('DB_TESTING_USERNAME'), 'password' => env('DB_TESTING_PASSWORD'), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => 'prefix_', ], 
  И укажите --database когда мы запускаем artisan migrate следующим образом: 
 php artisan migrate --database=mysql_testing 
Надеюсь это поможет 🙂