2016-09-06 7 views
1

Laravelの移行を使用してデータベースを管理したいと考えています。しかし、私は私はどこにスキーマを格納する単一の設定ファイルが必要です。このような何か:Laravelの移行を使用して単一の設定ファイルからdbスキーマを管理する

 { 
      user: { 
        "id":"increments", 
        "name":"string", 
        "timestamps":"timestamps()" 
       } 
     } 

そして私は、私は、コマンドを実行し、データベースは、データを失ったり、作成することなく変更することが持っていることができるようにしたい

 { 
      user: { 
        "id":"increments", 
        "name":"string", 
        "password":"string", 
        "timestamps":"timestamps()" 
       } 
     } 

以下のテキストにもう一度、このファイルを変更します追加の設定ファイル。

laravelの移行を使用してこれを達成することができますか、または私を助けることができる他の解決策がわかっていて、laravelのデータベース管理ツールを失うことなくlaravelにその機能を使用できるようになる場合は、 ありがとうございます。

+0

このこれらのオプションは、単純に指定されたテーブルで生成された移行スタブファイルを事前に埋めます残念ながら移行の仕組みではありません。それらは完全に線形であり、以前の移行では今後の移行については決して知らないでしょう。これにより、移行システムが変更を追跡すること(変更など)も防止されるため、移行設計パラダイムに逆行します。 – Ohgodwhy

+0

@Ohgodwhyはい私は知っています。だからこそ私は、私がしたいことに対して、Phinxやもっと良い解決策を使う必要があるかもしれないと言っています。 –

答えて

0

php artisan make:migration add_password_to_userは(表には、ユーザーではなく、ユーザーと呼ばれますよろしいですか?)

新しい移行で

public function up() 
{ 
    Schema::table('user', function($table) { 
     $table->string('password'); 
    }); 
} 

は、ロールバックに

public function down() 
{ 
    Schema::table('user', function($table) { 
     $table->dropColumn('password'); 
    }); 
} 

テーブルを忘れてはいけないはずユーザーモデルがある場合ユーザー ..それ以外の場合は必ずモデルのprotected $table = 'user';

https://laravel.com/docs/5.3/migrations

--tableと--createオプションは、テーブルの移動とは、新しいテーブルを作成するかどうか名前を示すために使用されてもよいです。

PHPの職人メイク:移行がcreate_users_table --create =ユーザー

PHPの職人メイク:移行add_votes_to_users_table --table =ユーザー

+1

ありがとうが、私はあなたが私の質問を理解したとは思わない:) –

+0

これは質問に答えません。 –

関連する問題