2017-08-03 13 views
0

これは、私のアプリケーションにアプリケーションが触れることができないようなマイグレーション/スキーマを持たないテーブルを扱うものです。私は大きなデータベースを扱っています。新しいテーブルの作成と編集を試したいのですが私はmigrateコマンドを使って何かを混乱させることがあると心配しました。Laravel migrate - 移行で定義されていないテーブルを削除しないでください。

+0

質問は何ですか? – sisve

+0

最初にバックアップをして、実験をすることができます。実際にLaravelの移行では、通常データベースの移行と呼ばれるテーブルが作成されます。移行のアクティビティや関連するテーブルはロールバック、更新、新規作成、他のものを簡単にチェックできるように書かれていますので、安全です。 –

答えて

1

移行コマンド(php artisan migrate)は、移行で書き込むものだけを行います。明示的に指定していないテーブルには触れないことを心配する必要はありません。 しかし、その事実があっても、より安全に感じる前にバックアップを実行することが重要です。

移行のドキュメント:https://laravel.com/docs/5.4/migrations

+0

しかし、名前の衝突のような落とし穴はありますか? – bruddah

+0

@bruddah新しい移行と既存の構造との間に矛盾が発生すると、移行が失敗するだけです。また、結果が期待どおりでない場合は、 'php artisan migrate:rollback'を使用して戻ることができるように、マイグレーションのdownsメソッドを設定することを忘れないでください。 –

+0

テーブルを削除して新しいテーブルにプレフィックスを追加すると、注意が必要です。 – bruddah

0

マイグレーションを使用している場合、数行のコードを入力するとデータベースの大きな変化を反映することができます。 データベース操作を手動で処理するのは面倒な作業です。したがって、データベース内の各テーブルに対してマイグレーションを使用することをお勧めします。

1

、私はいくつかのプロジェクトのための1つの本番データベースを持っています。あなたが説明したような問題を避けるために、私は各プロジェクトに「プレフィックス」を追加します。

のconfig/database.phpでは

'connections' => [ 
    'mysql' => [ 
     'driver' => 'mysql', 
     'prefix' => 'appname_', 

https://laracasts.com/discuss/channels/laravel/using-table-prefixes-in-laravel?page=0

+0

'appname_'という接頭辞が付いていないテーブルにはどうすればアクセスできますか?私は元のテーブルから読むことができる必要があります。 – bruddah

関連する問題