Почему sqlite3 не работает в моей настройке усадьбы?

Я недавно установил усадьбу и определенно начинаю в этом. С учетом сказанного, я установил Homestead в соответствии с учебником 5.2, установил Laravel и начал следовать учебникам. Все шло хорошо, пока я не дошел до той части, где я переключаю базу данных на sqlite3 и выполняю миграцию. Я застрял там. Я объясню обстоятельства как можно более подробно.

Я использую Windows 8. Я установил усадьбу. Усадьба установлена ​​в C:\Users\Joe. Моя папка Laravel находится в C:\laravel\Sites Текущий сайт, над которым я работаю, находится в C:\laravel\Sites\test\

Я изменил.env, DB_DATABASE на; "DB_DATABASE= хранение /database.sqlite".

Внутри файла Homestead.yaml я изменил базу данных на storage/database.sqlite.

Я открыл git bash внутри C:\laravel\Sites \ test. Я использовал команду "touch storage/database.sqlite". Джо @JOEALAI /C/laravel/ Сайты /test $ touch storage/database.sqlite $

Затем я использую команду "php artisan migrate" внутри git bash, и она говорит мне:

Joe @JOEALAI /C/laravel/ Sites / test $ php artisan migrate Мигрированный: 2014_1012000000_create_users_table Мигрированный: 2014_10_12_100000_create_password_resets_table $

Поэтому я знаю, что это создается. Я также проверил файл внутри хранилища / папки и database.sqlite

Теперь следующая часть заключается в том, чтобы ввести "sqlite3" в тот же git bash, который я только что использовал для этой миграции, и он говорит следующее:

Джо @JOEALAI /C/laravel/Sites/test $ sqlite3 sh: sqlite3: команда не найдена $

Итак, то, что я сделал дальше, ушёл в усадьбу и набрал sqlite3, и я действительно получил ответ:

vagrant @ hometead:~$ sqlite3 SQLite версия 3.8.2 2013-12-06 14:53:30 Введите ".help" для инструкций Введите операторы SQL, оканчивающиеся на ";" SQLite>

Затем я сделал то, что он сказал, и набрал.tables. Это дает мне следующее:

sqlite>.tables sqlite>

Ничего не произошло.

Затем я ввожу.databases, и это ответ, который я получаю.

sqlite>.databases seq name file

0 основной sqlite>

поэтому я нажал Ctrl + Z, а затем набрал: vagrant@homestead: ~ $ sqlite3 storage / database.sqlite

Затем он говорит: SQLite версии 3.8.2 2013-12-06 14:53:30 Введите ".help" для инструкций Введите операторы SQL, оканчивающиеся на ";" SQLite>

Затем я набираю:.tables и там написано

Ошибка: невозможно открыть базу данных "storage / database.sqlite": невозможно открыть файл базы данных

Я повторяю то же самое с базами данных. Та же ошибка.

Что мне не хватает? Я ломаю голову над этим. Я застрял здесь на целую неделю. Сначала я попробовал использовать WAMP, и у меня возникла та же проблема, за исключением того, что у меня никогда не было ЛЮБОГО ответа, потому что у меня не было усадьбы. Сейчас я установил усадьбу и пользуюсь ею, а она все еще не работает.

Я подумал, что, возможно, мне нужно было сделать ВСЕ эти команды в бродячем окне. Я вошел в окно vagrant усадьбы и попытался выполнить команду "php artisan migrate", и она сообщает мне vagrant@homestead:~$ php artisan migrate Не удалось открыть входной файл: artisan vagrant@homestead:

Просто ради аргументов, я предоставлю некоторые данные в моих конфигурационных файлах.

DB_CONNECTION=sqlite DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE= хранилище /database.sqlite DB_USERNAME= усадьба DB_PASSWORD= секрет

Мой файл Homestead.yaml:

ip: "192.168.10.10" память: 2048 процессор: 1 поставщик: virtualbox

авторизовать: ~/.ssh/id_rsa.pub

ключи: - ~/.ssh/id_rsa

папки: - карта: C:/laravel/ сайты в: / home / vagrant / сайты

сайты: - карта: lol.app к: / home / vagrant / сайты /test/public

базы данных: - база данных

database.php

'default' => env ('DB_CONNECTION', 'sqlite'), 'sqlite' => ['driver' => 'sqlite', 'database' => env ('DB_DATABASE', database_path ('database.sqlite')), 'prefix' => '',],

Если кто-нибудь может помочь мне разобраться, как это настроить, я буду очень признателен. Если вам нужна дополнительная информация, я с радостью ее предоставлю.

Спасибо!

1 ответ

Хорошо, после того, как я немного поигрался с этим, я нашел решение.

В обучающем видео он говорит мне набрать sqlite3 storage/database.sqlite (это созданный мной файл "touch storage / database.sqlite").

Когда я набираю эту команду, она не выдает ошибку.

ТЕМ НЕ МЕНИЕ

Я просматривал команды sqlite3 и в конце концов использовал команду, в которой показывался текущий каталог. Я попал туда, набрав:

sqlite3

sqlite3>.open database.sqlite

sqlite3>.databases и отображаемое имя файла seq 0 main /home/vagrant/database.sqlite

и БУМ я наконец увидел проблему.

"/home/vagrant/database.sqlite" должен был быть /home/vagrant/Sites/test/storage/database.sqlite

Так что все, что мне нужно было сделать, это набрать

sqlite3 сайты / тест / хранилище / database.sqlite

и он перешел в правильную папку.

Теперь, когда я набираю ".tables", он показывает мне пароль миграции, сбрасывает пользователей

что является желаемым результатом.

Взял меня достаточно долго! Я почти сдался! Я действительно надеюсь, что это кому-то поможет.

Другие вопросы по тегам