PHP数据库迁移工具介绍,数据库连接,“Phinx”

数据库迁移工具“Phinx”

文档地址:https://tsy12321.gitbooks.io/phinx-doc/content

1.安装

composer require nhzex/think-phinx

2.执行

php vendor/bin/phinx

直接运行 php vendor/bin/phinx init 可生成配置文件

另外一种方法是直接使用php文件做配置文件

直接运行 php vendor/bin/phinx init 可生成配置文件

另外一种方法是直接使用php文件做配置文件

3.使用phinx.php进行配置

<?php
$config = array(
    'DB_HOST' => 'localhost',
    'DB_NAME' => 'root',
    'DB_USER' => 'root',
    'DB_PWD' => '',
);
$settings = $config;
#phinx.php
<?php
require 'db_config.php';
return array(
    "paths" => array(
        "migrations"    => "db/migrations",
        "seeds"         => "db/seeds"
    ),
    "environments"   => array(
        "defaut_migration_table"    => "phinxlog",
        "default_database"          => "lleg",
        "default_environment"       => "development"
        "production"   => array(
            "adapter"   => "mysql",
            "host"      => $settings["DB_HOST"],
            "name"      => $settings["DB_NAME"],
            "user"      => $settings["DB_USER"],
            "pass"      => $settings["DB_PWD"],
            "port"      => 3306,
            "charset"   => "utf8"
        ),
        "development"   => array(
            "adapter"   => "mysql",
            "host"      => $settings["DB_HOST"],
            "name"      => $settings["DB_NAME"],
            "user"      => $settings["DB_USER"],
            "pass"      => $settings["DB_PWD"],
            "port"      => 3306,
            "charset"   => "utf8"
        )
    )
);

4.执行 php vendor/bin/phinx status 查看连接状态

5.执行 php vendor/bin/phinx create migration

6.现在生成了created /db/migrations/20180310020523_migration.php

编辑这个文件,添加数据库创建内容

public function change() {
        $user = $this->table('user');
        $user->addColumn('open_id', 'string', ['limit'=>64]);
        $user->addColumn('register_time', 'timestamp', ['default' => 'CURRENT_TIMESTAMP']);
        $user->addColumn('favorite_music', 'integer', ['default'=> 0, 'comment'=>'喜欢的音乐']);
        $user->addColumn('favorite_vedio', 'integer', ['default'=> 0, 'comment'=>'喜欢的视频数']);
        $user->addColumn('favorite_article', 'integer', ['default'=> 0, 'comment'=>'喜欢的文章数']);
        $user->addColumn('baby_birthday', 'date', ['null'=>true, 'comment'=>'宝宝生日']);
        $user->addColumn('baby_sex', 'boolean', ['null'=>true, 'comment'=>'宝宝性别']);
        $user->addColumn('last_login', 'datetime', ['null'=>true, 'comment'=>'最后登陆日期']);
        $user->save();
    }

7.默认会添加一个自增id,作为主键

执行 php vendor/bin/phinx migrate

8.初始化数据

执行 php vendor/bin/phinx seed:create CategorySeeder

系统自动创建 created ./db/seeds/CategorySeeder.php

9.修改 CategorySeeder.php

执行 php vendor/bin/phinx seed:run 将会进行所有Seed

10.如果想运行指定的Seed需要用- s参数指定

php vendor/bin/phinx seed:run -s CategorySeeder

11.更新表结构

当需要更新表结构的时候,需要再创建一个migrate

执行php vendor/bin/phinx create ChangeArtist

再将需要更新的内容写到change函数

public function change() {
        $this->execute('alter table resource drop column artist ;');
        $resource = $this->table('resource');
        $resource->addColumn('artist', 'string', ['limit'=>128, 'default'=>'']);
        $resource->update();
    }

最后执行php vendor/bin/phinx migrate

之前的已经执行过的migrate不会执行, 只会执行更新的部分。

12.回滚

php vendor/bin/phinx rollback

13.数据填充

php vendor/bin/phinx seed:create UserSeeder
php vendor/bin/phinx seed:run -e product

生成文件

<?php
use Phinx\Seed\AbstractSeed;
class UserSeeder extends AbstractSeed {
    /**
     * 插入数据
     */
    public function run() {
        $data = array(
          array(
              'id'    => 1,
          ),
          array(
              'id'    => 2,
          )
        );
        $posts = $this->table('users');
        $posts->insert($data)->save();
    }
}

phinx特别适合在开发,测试,线上数据库同步字段信息,数据信息,生成和同步测试数据等,所以特别适合在团队开发流程中使用,尤其是对于一个新项目,只要在项目的开始就一直坚持使用phinx独立部署,那么每次变更数据库表信息团队成员都可以通过git或者svn的方式同步代码然后执行上面提到的执行命令来同步库表信息,以此避免传统开发时不同开发环境同步库表信息的繁琐和失误的情况。

在phinx.php 有一个配置项”default_migration_table” => “phinxlog” 这里是记录变更记录的,这也是保障不会重复执行的一个措施,所以不用担心丢失或者重复操作执行命令。

php数据库怎么连接

1.安装好Wampserver64(版本不限)

php数据库连接
php数据库连接

2.Wampserver64软件启动后 变为绿色

如下图所示:

php数据库连接
php数据库连接

3.在数据库里面创建好名为“my”的数据库,并且建立 名为 qimo 的表,表里面含有字段名有 ID、username、sex、phone、email 等5个

php数据库连接
php数据库连接

一、php文件的建立

在安装的Wampserver64软件路径下 找到 名字为 “www”的文件夹,所有php文件必须写在此文件夹下才能正常运行,如 找不到 www 文件夹 ,可以按照下列方式打开:

php数据库连接
php数据库连接

进入www文件夹后,新建一个PHP的文件夹(不新建也可以直接在www文件下写php文件),然后在新建的PHP文件夹下建立一个PHP文件,这里命名为 conn.php。(conn.php的路径是 www\PHP\conn.php 一定要在www文件夹里面)

php数据库连接
php数据库连接
php数据库连接
php数据库连接

二、编写php连接数据库代码

用代码编译器打开conn.php文件,编写代码。

$conn=mysqli_connect(“主机地址”,”数据库账户名”,”数据库登录密码”);

php数据库连接
php数据库连接

$select = mysqli_select_db($conn,’要连接的数据库名’); 我的是 my

具体代码如下:

<?php
//连接数据库  用mysqli_connect()
$conn=mysqli_connect("localhost","root","123456");
if($conn){
	 echo"数据库连接成功<br>";
	$select = mysqli_select_db($conn,'my');
	if($select){
		 echo "数据库选择成功<br>";
		$sql = "SELECT * FROM `qimo`";//查询信息
		
		$ok = mysqli_query($conn,$sql);
		
		while($arr=mysqli_fetch_array($ok)){
				echo "".$arr['ID']."";
				echo "".$arr['username']."";
				echo "".$arr['sex']."";
				echo "".$arr['phone']."";
				echo "".$arr['email']."";
	
		}
		
	}	
 }
?>

编写好代码后保存。

三、php文件的运行

在www文件夹下找到刚才写好的php文件,复制部分路径,

如:复制 PHP\conn.php 即可

php数据库连接
php数据库连接

然后 打开 Localhost网址 在其后面加上刚才复制的路径 点击回车即可

php数据库连接
php数据库连接
php数据库连接
php数据库连接

出现如下内容即代表链接数据库成功,并调用数据库数据成功。(如数据库里面没有数据则可能会报错)

php数据库连接
php数据库连接

总结:关于数据库的迁移与数据库的连接就介绍到这里,数据库的迁移和连接我们一般是在数据库搬家,数据库备份的时候会用到,希望上的分享可以帮助到你。

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/713/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022-07-01 2:11:35
下一篇 2022-07-02 4:28:14

软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!