Laravel数据库迁移文件migrate使用约定

为保证研发过程中的数据库结构统一。保证在多人协作的开发环境下,本机库,测试服务器数据库。正式服务期数据库的结构,必要数据的一致性,项目采用Laravel 的Migrate 机制来存留数据库变更的记录。

 

数据库迁移 &数据填充的基本介绍见:

http://v4.golaravel.com/docs/4.2/migrations

 

项目管理维护的前提情况说明

1,上线申请,必须要注明出现问题后可实施的回退方案和操作细节。

2,上线操作的实施者和维护者并不了解研发的数据库结构。

3,熟悉数据库结构的研发人员可能并不具备线上数据库的操作权限。

4,项目研发过程中对数据库结构的变更有阶段性,持续性的特点。

 

项目上线具体操作步骤范例

更新步骤:

1.      在网站根目录(/var/www/)下执行

php artisan down

2.      在网站根目录(/var/www/)下执行

git pull

3.在网站根目录(/var/www/)下执行

   phpartisan migrate --path=app/database/migrations/v1.1

 

4.网站根目录(/var/www/baiqian_stsr)下执行

php artisan up

 

回滚方案:

1. 网站源码回滚,在网站根目录(/var/www/)下执行

git reset --hard4ec7b4c5347fc1948147bd315a8d9bd5a1ef0032

2,数据库变更回滚

php artisan migrate:rollback  

(app/database/migrations/v1.1目录下如果执行了N个文件,则执行N次roolback)

以上说明是为了理解,为什么要按下面这么做……

 

研发人员注意事项:

1,对数据库的变更,应当建立相应的迁移文件

2,创建数据库迁移文件应指定路径(以版本号区别,便于回退至上一版本),

3,应建立相应的回退脚本(保证回退后再次执行迁移不会出错)。

 

使用命令创建初始迁移文件例子:

 php artisanmigrate:make test --path=app/database/migrations/v1.1


<?php

use Illuminate\Database\Migrations\Migration;

class Test extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up() {
        DB::statement("alter table merchant_loan_product add prepay_rate2 decimal(6,4) 
        	DEFAULT '0' COMMENT '提前结清违约金费率2' AFTER service_fate;");
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down() {
        DB::statement("alter table merchant_loan_product DROP prepay_rate2;");
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值