CI 3.1.5 数据工厂迁移类实例,命令行模式执行

    |     2017年8月11日   |   学习偶记   |     评论已关闭   |    5388

本教程包含如下知识点:

1、双数据库连接时数据工厂的指定 [可以参考:http://www.80000s.com/archives/512]

2、数据迁移类的设置  【参考http://codeigniter.org.cn/user_guide/libraries/migration.html

3、数据库工厂【参考http://codeigniter.org.cn/user_guide/database/forge.html

4、以CLI命令行模式运行【参考http://codeigniter.org.cn/user_guide/general/cli.html

5、CI session数据库设置的方式【参考http://codeigniter.org.cn/user_guide/database/connecting.html

解释:数据库迁移类,是一个很好玩的功能。多人工作时候,数据的字段的添加删除会很频繁,还有数据库表的增删改的动作也很频繁。

数据库迁移类就是为了适应这种情况而使用的一个功能。它可以通过版本号的指定,实现更新到指定版本的数据库结构。

应用场景:迁移是一种非常方便的途径来组织和管理你的数据库变更,当你编写了一小段 SQL 对数据库做了修改之后,你就需要告诉其他的开发者他们也需要运行这段 SQL , 而且当你将应用程序部署到生产环境时,你还需要记得对数据库已经做了哪些修改, 需要执行哪些 SQL 。

数据库迁移类的配置

application\config 下的迁移类配置文件migration设置

      

设置迁移文件的命名方式,建议使用年月日时分秒_动作_表名的命名方式。

默认迁移文件的目录是项目目录下的migrations,需要自己建立这个文件夹。

Session数据库配置

因为初始建表有session表,所以顺带写一下如何配置数据库方式的session。CI的数据库方式存session,字段是固定的,当然你可以去扩充字段,重写一下方法即可。

数据工厂方式建立迁移文件

特殊的例子:货币格式:’type’ => ‘decimal’, ‘constraint’ => [10, 2] (10位数字,小数两位)

update表,给表添加列时候$this->dbforge->add_column(),如果字段不为空,必须指定null =>FALSE,不写这个都是默认为空。

备注这样设置:’comment’ => ‘登录时间’

多数据库方式中,如何指定数据库工厂的数据库

CLI方式运行

CLI方式下运行,必须带index.php 。。。。如果文件有提示,尽量用英文提示。中文提示好像加载输入法后会显示正常,否则乱码。

需要在项目目录下执行。

经测试:’default’ => ‘CURRENT_TIMESTAMP’,

默认当前时间是无法设置的。

源码打包下载:不要直接覆盖!参考即可。CI迁移类示例程序

噢!评论已关闭。