3

データベースファイルが存在しない場合、移行は(一種の)サイレントに失敗するようです。移行は実行されますが、db ファイルが作成されず、移行を再度実行できます。(「移行するものは何もありません」とは決して言いません)空のファイルを作成すると、機能します。

db ファイルが見つからない場合、SQLite は常に db ファイルを作成すると思っていたので、これは奇妙です。多分それは許可の問題ですか?しかし、他のすべては機能しているので、わかりません。私は Windows 7 を使用しており、プロジェクトは私の

4

4 に答える 4

16

ユーザーblamh、次のスニペットを追加してapp/start/artisan.php、例外をスローする代わりに、データベースが存在しない場合にデータベースを自動的に再作成することを提案しました。

if (Config::get('database.default') === 'sqlite') {
    $path = Config::get('database.connections.sqlite.database');
    if (!file_exists($path) && is_dir(dirname($path))) {
        touch($path);
    }
}

これにより、必要に応じて SQLite データベースを安全に削除し、再移行して再シードすることができます。

于 2014-02-17T23:48:32.047 に答える