diff --git a/database/migrations/2021_01_30_112537_create_portfolio_users_table.php b/database/migrations/2021_01_30_112537_create_portfolio_users_table.php index 065442a..dfb028c 100644 --- a/database/migrations/2021_01_30_112537_create_portfolio_users_table.php +++ b/database/migrations/2021_01_30_112537_create_portfolio_users_table.php @@ -16,8 +16,8 @@ return new class extends Migration public function up() { Schema::create('portfolio_user', function (Blueprint $table) { - $table->foreignIdFor(Portfolio::class, 'portfolio_id')->onDelete('cascade'); - $table->foreignIdFor(User::class, 'user_id')->onDelete('cascade'); + $table->foreignIdFor(Portfolio::class, 'portfolio_id')->constrained()->onDelete('cascade'); + $table->foreignIdFor(User::class, 'user_id')->constrained()->onDelete('cascade'); $table->boolean('owner')->default(false); $table->boolean('write')->default(false); $table->primary(['portfolio_id', 'user_id']); diff --git a/database/migrations/2021_02_26_041257_create_market_data_table.php b/database/migrations/2021_02_25_041221_create_market_data_table.php similarity index 85% rename from database/migrations/2021_02_26_041257_create_market_data_table.php rename to database/migrations/2021_02_25_041221_create_market_data_table.php index f8345df..a6224f6 100644 --- a/database/migrations/2021_02_26_041257_create_market_data_table.php +++ b/database/migrations/2021_02_25_041221_create_market_data_table.php @@ -19,8 +19,8 @@ class CreateMarketDataTable extends Migration $table->float('market_value', 12, 4); $table->float('fifty_two_week_low', 12, 4); $table->float('fifty_two_week_high', 12, 4); - $table->timestamp('splits_synced_to_holdings_at')->nullable(); - $table->timestamp('dividend_date')->nullable(); + $table->timestamp('last_dividend_date')->nullable(); + $table->float('last_dividend_amount', 12, 4); $table->timestamps(); }); } diff --git a/database/migrations/2021_02_25_041227_create_daily_change_table.php b/database/migrations/2021_02_25_041227_create_daily_change_table.php index 6e72094..65b9d86 100644 --- a/database/migrations/2021_02_25_041227_create_daily_change_table.php +++ b/database/migrations/2021_02_25_041227_create_daily_change_table.php @@ -16,7 +16,7 @@ class CreateDailyChangeTable extends Migration { Schema::create('daily_change', function (Blueprint $table) { $table->date('date'); - $table->foreignIdFor(Portfolio::class, 'portfolio_id')->onDelete('cascade'); + $table->foreignIdFor(Portfolio::class, 'portfolio_id')->constrained()->onDelete('cascade'); $table->float('total_market_value', 12, 4)->nullable(); $table->float('total_cost_basis', 12, 4)->nullable(); $table->float('total_gain_loss', 12, 4)->nullable(); diff --git a/database/migrations/2021_02_25_041236_create_dividends_table.php b/database/migrations/2021_02_25_041236_create_dividends_table.php index ff516a9..0b6cff0 100644 --- a/database/migrations/2021_02_25_041236_create_dividends_table.php +++ b/database/migrations/2021_02_25_041236_create_dividends_table.php @@ -1,5 +1,6 @@ uuid('id')->primary(); $table->date('date'); - $table->string('symbol', 15); + $table->foreignIdFor(MarketData::class, 'symbol'); $table->float('dividend_amount', 12, 4); $table->timestamps(); }); diff --git a/database/migrations/2021_02_25_041246_create_splits_table.php b/database/migrations/2021_02_25_041246_create_splits_table.php index a3727cf..ffcf8b0 100644 --- a/database/migrations/2021_02_25_041246_create_splits_table.php +++ b/database/migrations/2021_02_25_041246_create_splits_table.php @@ -1,8 +1,9 @@ uuid('id')->primary(); $table->date('date'); - $table->string('symbol', 15); + $table->foreignIdFor(MarketData::class, 'symbol'); $table->float('split_amount', 12, 4); $table->timestamps(); }); diff --git a/database/migrations/2021_02_25_041257_create_transactions_table.php b/database/migrations/2021_02_25_041257_create_transactions_table.php index a567825..7ed2184 100644 --- a/database/migrations/2021_02_25_041257_create_transactions_table.php +++ b/database/migrations/2021_02_25_041257_create_transactions_table.php @@ -1,6 +1,7 @@ uuid('id')->primary(); - $table->string('symbol', 15); - $table->foreignIdFor(Portfolio::class, 'portfolio_id')->onDelete('cascade'); + $table->foreignIdFor(MarketData::class, 'symbol'); + $table->foreignIdFor(Portfolio::class, 'portfolio_id')->constrained()->onDelete('cascade'); $table->string('transaction_type', 15); $table->float('quantity', 12, 4); $table->float('cost_basis', 12, 4); diff --git a/database/migrations/2021_09_06_014744_create_holdings_table.php b/database/migrations/2021_09_06_014744_create_holdings_table.php index a5f4b09..17f24e0 100644 --- a/database/migrations/2021_09_06_014744_create_holdings_table.php +++ b/database/migrations/2021_09_06_014744_create_holdings_table.php @@ -1,6 +1,7 @@ uuid('id')->primary(); - $table->foreignIdFor(Portfolio::class, 'portfolio_id')->onDelete('cascade'); - $table->string('symbol', 15); + $table->foreignIdFor(Portfolio::class, 'portfolio_id')->constrained()->onDelete('cascade'); + $table->foreignIdFor(MarketData::class, 'symbol'); $table->float('quantity', 12, 4); $table->float('average_cost_basis', 12, 4); $table->float('total_cost_basis', 12, 4)->nullable(); $table->float('realized_gain_loss_dollars', 12, 4)->nullable(); $table->float('dividends_earned', 12, 4)->nullable(); + $table->timestamp('splits_synced_at')->nullable(); + $table->timestamp('dividends_synced_at')->nullable(); $table->timestamps(); }); }