项目信息管理之财务收支模块建库记录

biggreentea2024-10-15发现780

1.收入表(income_records

数据库迁移命令:

php artisan make:migration create_income_records_table --create=income_records

迁移文件内容(带注释):

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateIncomeRecordsTable extends Migration{    
        public function up(){        
        Schema::create('income_records', function (Blueprint $table) {
                $table->id();  // 自增 ID
                $table->foreignId('project_id')->constrained()->onDelete('cascade');  // 项目 ID,关联项目表
                $table->decimal('amount', 10, 2)->comment('收入金额:使用 decimal 类型,精确到小数点后两位');  // 收入金额
                $table->date('date')->comment('收入日期:记录收入发生的日期');  // 收入日期
                $table->text('description')->nullable()->comment('收入描述:可选字段,用于描述该收入的具体内容');  // 收入描述
                $table->timestamps();  // 自动创建 created_at 和 updated_at 字段
                $table->softDeletes()->comment('软删除字段:标记该记录是否已删除');  // 软删除字段
            });
        }    
        public function down()    {
                Schema::dropIfExists('income_records');
    }
}

2. 支出表(expense_records

数据库迁移命令:

php artisan make:migration create_expense_records_table --create=expense_records

迁移文件内容(带注释):

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateExpenseRecordsTable extends Migration{
        public function up()    {
                Schema::create('expense_records', function (Blueprint $table) {
                $table->id();  // 自增 ID
                $table->foreignId('project_id')->constrained()->onDelete('cascade');  // 项目 ID,关联项目表
                $table->decimal('amount', 10, 2)->comment('支出金额:使用 decimal 类型,精确到小数点后两位');  // 支出金额
                $table->date('date')->comment('支出日期:记录支出发生的日期');  // 支出日期
                $table->text('description')->nullable()->comment('支出描述:可选字段,用于描述该支出的具体内容');  // 支出描述
                $table->timestamps();  // 自动创建 created_at 和 updated_at 字段
                $table->softDeletes()->comment('软删除字段:标记该记录是否已删除');  // 软删除字段
            });
        }
        public function down()    {
            Schema::dropIfExists('expense_records');
    }
}

3. 应收款表(accounts_receivable

数据库迁移命令:

php artisan make:migration create_accounts_receivable_table --create=accounts_receivable

迁移文件内容(带注释):

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateAccountsReceivableTable extends Migration{
    public function up()    {
            Schema::create('accounts_receivable', function (Blueprint $table) {
            $table->id();  // 自增 ID
            $table->foreignId('finance_record_id')->constrained('finance_records')->onDelete('cascade');  // 关联财务收支记录 ID
            $table->enum('status', ['pending', 'paid', 'overdue'])->default('pending')->comment('应收款状态:待支付、已支付、逾期');  // 状态:待支付、已支付、逾期
            $table->enum('reminder_sent', ['no', 'sms', 'email', 'both'])->default('no')->comment('提醒状态:是否发送提醒短信/邮件');  // 提醒状态
            $table->timestamp('reminder_date')->nullable()->comment('提醒时间:记录提醒的时间');  // 提醒时间
            $table->timestamps();  // 自动创建 created_at 和 updated_at 字段
            $table->softDeletes()->comment('软删除字段:标记该记录是否已删除');  // 软删除字段
        });
    }    
    
    public function down()    {
            Schema::dropIfExists('accounts_receivable');
    }
}

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。