diff --git a/database/migrations/2026_06_30_135321_create_akses_pasar_table.php b/database/migrations/2026_06_30_135321_create_akses_pasar_table.php new file mode 100644 index 0000000..3cb6e3e --- /dev/null +++ b/database/migrations/2026_06_30_135321_create_akses_pasar_table.php @@ -0,0 +1,80 @@ +id(); + $table -> string ('uid')->nullable()->unique(); + + $table->foreignId('petani_id')->nullable()->constrained('petani')->onDelete('cascade'); + + $table->tinyInteger('skor_pengalaman')->nullable()->comment('Skala 1-5'); + $table->json('saluran_terdahulu')->nullable()->comment('Menyimpan opsi Many (Koperasi, BUMDes, dll)'); + $table->string('saluran_terdahulu_lainnya')->nullable(); + + $table->string('alasan_berhenti')->nullable(); + + $table->string('praktik_fermentasi')->nullable(); + $table->text('proses_fermentasi')->nullable(); + $table->string('model_fermentasi_memungkinkan')->nullable(); + + $table->tinyInteger('skor_kesadaran_premium')->nullable()->comment('Skala 1-5'); + $table->string('sumber_info_premium')->nullable(); + + $table->time('waktu_mulai_wawancara')->nullable(); + $table->time('waktu_selesai_wawancara')->nullable(); + + $table->tinyInteger('skor_kepercayaan_responden')->nullable()->comment('Skala 1-5'); + $table->string('kehadiran_orang_lain')->nullable()->comment('Nama/siapa yang hadir mendampingi'); + $table->tinyInteger('skor_pengaruh_orang_lain')->nullable()->comment('Skala 1-5'); + + $table ->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null'); + $table ->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null'); + $table ->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null'); + + + + $table->timestamps(); + $table->softDeletes(); + }); + + Schema::create('harga_jual_panen', function (Blueprint $table) { + + $table->id(); + $table -> string ('uid')->nullable()->unique(); + + $table->foreignId('petani_id')->constrained('petani')->onDelete('cascade'); + + $table->string('bentuk_produk'); + + $table->integer('harga_panen_terakhir')->nullable(); + $table->integer('harga_tahun_lalu')->nullable(); + $table->integer('harga_dua_tahun_lalu')->nullable(); + + $table ->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null'); + $table ->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null'); + $table ->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null'); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('akses_pasar'); + Schema::dropIfExists('harga_jual_panen'); + } +}; diff --git a/database/migrations/2026_07_01_105423_create_sosial_ekonomi_table.php b/database/migrations/2026_07_01_105423_create_sosial_ekonomi_table.php new file mode 100644 index 0000000..8c8a598 --- /dev/null +++ b/database/migrations/2026_07_01_105423_create_sosial_ekonomi_table.php @@ -0,0 +1,104 @@ +id(); + $table->string('uid')->nullable()->unique(); + + $table->foreignId('petani_id')->nullable()->constrained('petani')->onDelete('cascade'); + + $table->integer('jumlah_tanggungan')->nullable(); + $table->integer('anak_masih_sekolah')->nullable(); + $table->integer('yang_ikut_bekerja')->nullable(); + + $table->tinyInteger('skor_periode_paceklik')->nullable() + ->comment('Skala 1-5: 1=>4 bulan, 2=3-4 bulan, 3=1-2 bulan, 4=sebentar/tidak menentu, 5=tidak ada/stabil'); + $table->string('bulan_paceklik')->nullable(); + $table->text('sumber_penghasilan_paceklik')->nullable(); + + $table->unsignedBigInteger('total_estimasi_biaya_kebun_per_musim')->nullable(); + + $table->tinyInteger('skor_kemampuan_menabung')->nullable() + ->comment('Skala 1-5'); + $table->unsignedBigInteger('estimasi_tabungan_per_bulan')->nullable(); + + $table->tinyInteger('skor_kecukupan_penghasilan')->nullable() + ->comment('Skala 1-5'); + $table->text('alasan_kecukupan_penghasilan')->nullable(); + + $table->string('status_kepemilikan_lahan')->nullable(); + $table->tinyInteger('skor_kejelasan_status_lahan')->nullable() + ->comment('Skala 1-5'); + $table->boolean('ada_sertifikat_dokumen')->nullable(); + $table->boolean('ada_sengketa')->nullable(); + $table->text('keterangan_sengketa')->nullable(); + $table->string('pihak_membantu_konflik')->nullable() + ->comment('Tidak ada-selesaikan sendiri / Ada'); + $table->string('pihak_membantu_konflik_nama')->nullable(); + $table->year('tahun_bantuan_konflik')->nullable(); + $table->string('status_konflik')->nullable() + ->comment('Sudah selesai / Belum, masih berlanjut'); + + $table->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null'); + $table->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null'); + $table->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null'); + + $table->timestamps(); + $table->softDeletes(); + }); + + Schema::create('pendapatan_komoditas', function (Blueprint $table) { + $table->id(); + $table->string('uid')->nullable()->unique(); + + $table->foreignId('sosial_ekonomi_id')->constrained('sosial_ekonomi')->onDelete('cascade'); + + $table->string('kategori')->comment('utama / lainnya'); + $table->string('komoditas')->nullable(); + $table->unsignedBigInteger('pendapatan')->nullable(); + $table->string('periode')->nullable()->comment('musim / tahun'); + + $table->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null'); + $table->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null'); + $table->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null'); + + $table->timestamps(); + }); + + Schema::create('pendapatan_luar_pertanian', function (Blueprint $table) { + $table->id(); + $table->string('uid')->nullable()->unique(); + + $table->foreignId('sosial_ekonomi_id')->constrained('sosial_ekonomi')->onDelete('cascade'); + + $table->string('jenis_pekerjaan')->nullable(); + $table->unsignedBigInteger('estimasi_per_bulan')->nullable(); + + $table->foreignId('created_by')->nullable()->constrained('users')->onDelete('set null'); + $table->foreignId('updated_by')->nullable()->constrained('users')->onDelete('set null'); + $table->foreignId('deleted_by')->nullable()->constrained('users')->onDelete('set null'); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('pendapatan_luar_pertanian'); + Schema::dropIfExists('pendapatan_komoditas'); + Schema::dropIfExists('sosial_ekonomi'); + } +}; diff --git a/resources/views/ekosistem/tabel-basis-data/view.blade.php b/resources/views/ekosistem/tabel-basis-data/view.blade.php index 3c90a9b..0538713 100644 --- a/resources/views/ekosistem/tabel-basis-data/view.blade.php +++ b/resources/views/ekosistem/tabel-basis-data/view.blade.php @@ -32,16 +32,11 @@ +