CI 3.1.5 数据工厂迁移类实例,命令行模式执行
本教程包含如下知识点:
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。CI的数据库方式存session,字段是固定的,当然你可以去扩充字段,重写一下方法即可。
特殊的例子:货币格式:’type’ => ‘decimal’, ‘constraint’ => [10, 2] (10位数字,小数两位)
update表,给表添加列时候$this->dbforge->add_column(),如果字段不为空,必须指定null =>FALSE,不写这个都是默认为空。
备注这样设置:’comment’ => ‘登录时间’
CLI方式下运行,必须带index.php 。。。。如果文件有提示,尽量用英文提示。中文提示好像加载输入法后会显示正常,否则乱码。
需要在项目目录下执行。
默认当前时间是无法设置的。
源码打包下载:不要直接覆盖!参考即可。CI迁移类示例程序
噢!评论已关闭。