tp5 migrate数据库迁移工具

tp5相对与tp3.2有很大的不同

migrate是其中一点,通过migrate程序员可以在php代码中创建数据库修改回滚等操作

首先下载migrate扩展,命令行到当前项目目录下执行

1 composer require topthink/think-migration

通过使用php think命令可以查看migrate是否成功下载

使用migrate:create migrate文件名(首字母大写的驼峰法),在database下生成migrate文件

有可能建立失败提示没有什么方法一般是composer获取的tp版本过低,考虑修改composer.json文件里的migrate的版本为1.*或^1.0

重新composer update即可

在application 下的 database.php 里配置好数据库

以下是其中一份migrate文件的内容(创建完后有一个默认方法change(),删除它)

 1 use think\migration\Migrator;
 2 use think\migration\db\Column;
 3
 4 class CreateUserTable extends Migrator
 5 {
 6
 7     /**
 8      * 建立用户表
 9      */
10     public function up(){
11         $table = $this->table(‘user‘);
12         $table->addColumn(‘username‘ , ‘string‘ , [‘limit‘ => 30])
13               ->addColumn(‘passwork‘ , ‘string‘ , [‘limit‘ => 32])
14               ->addColumn(‘email‘ , ‘string‘ , [‘limit‘ => 25])
15               ->addColumn(‘lastlogin_ip‘ , ‘string‘ , [‘limit‘ => 15])
16               ->addTimestamps(‘create_time‘ , ‘lastlogin_time‘)
17               ->addColumn(‘status‘ , ‘integer‘ , [‘limit‘ => 1 , ‘default‘ => 1])
18               ->setId(‘user_id‘)
19               ->save();
20     }
21
22     /**
23      * 提供回滚的删除用户表方法
24      */
25     public function down(){
26         $this->dropTable(‘user‘);
27     }
28 }

以上的一些方法 ,官方给予的文档我没看到在哪,网上我看的是小腾讲解的

使用migrate:run会执行所有的migrate的up方法

通过migrate:rollback可以回滚上一条执行的migrate文件(带 -t  0 参数回滚全部)

通过migrate:status可以查看当前migrate执行的情况

执行run方法后,user表建立成功

非常的方便

原文地址:https://www.cnblogs.com/xueTP/p/8438721.html

时间: 2024-10-04 08:14:11

tp5 migrate数据库迁移工具的相关文章

tp5 数据库迁移工具 migrate&seed

tp5.0时使用migrate工具,composer安装 composer require topthink/think-migration=1.* 注意,tp5.0对应1版本的migration工具,tp5.1及以上对应2版本的migration工具 查看指令 php think 创建migrate文件(用来建表) php migrate create:SqUserLogs 在applicaton/database/migrations 文件夹下会创建一个文件 20200318060333_s

四十七:数据库之alembic数据库迁移工具的基本使用

在一般情况下,如果修改了模型,如增加或者删除了字段,SQLAlchemy是不会更新的,这就需要使用alembic来实现 使用alembic步骤:一:定义好模型二:使用alembic创建一个仓库:alembic init 仓库名三:修改配置文件 1.在alembic.ini中,给SQLAlchemy.url设置数据库的连接方式,这个连接方式与SQLAlchemy的方式一样 2.在alembic/env.py中的target_metadata设置模型的Base.metadata,前提是要导入Base

tp5查询数据库排除某字段

我想获取的一串数组中,不想获取content 这个字段,于是查看文档 找到这个方法 通常你想要查找某个字段,在field中加入字段名,可是这样写字段多了太麻烦,是不是还有其他方法呢 于是乎找到了下面的方法,原来field还有第二个值 $list = Db::name('post')->field('content',true)->where(['status'=>1,'cid'=>$cid,'is_product'=>0])->order('ctime desc,id

ThinkPhp5 数据迁移(think-migration)

在thinkphp5中提供了数据迁移工具(think-migration),它是机遇phinx开发(文档地址:http://docs.phinx.org/en/latest/) 一:配置think-migration 在commond.php 中添加 <?php return [ "think\\migration\\command\\migrate\\Create", "think\\migration\\command\\migrate\\Run", &q

MySQL到MsSQL的迁移工具——SSMA

SQL Server迁移助手(SSMA)团队开发了针对MySQL的迁移助手Microsoft SQL Server Migration Assistant 2008 for MySQL.微软同时发布了其他三个迁移助手: SSMA for Access, SSMA for Oracle, and SSMA for Sybase (all v4.2) .它也可以将一个MySQL数据库迁移到 SQL Azure的云上. 01.安装 在安装SSMA之前,一定要先安装mysql和mssql的ODBC,当然

如何将本地数据库迁移至SQL Azure

Windows Azure的SQL Azure和SQL Server 拥有不同的体系结构,可以说是两个不同的产品.SQL Azure不完全支持或者尚不支持SQL Server的某些功能,这使得我们不能像平常一样使用bak文件还原的方式迁移数据库,也不能使用数据导入导出向导.很多SQL Server的特性在SQL Azure中不被支持. 那我们怎样才能将现有数据库迁移到SQL Azure上呢? 一."将数据库部署到SQL Azure"向导 我最先想到的是这个向导,对数据库右键=>任

django 在migrate时出现 No migrations to apply.

django 在migrate时出现  No migrations to apply. 明明我们用命令 python manage.py makemigrations 应用名  时0001_initial.py文件里创建了所有的model, 却在python manage.py migrate 时出现“No migrations to apply”,接下来我们来处理这个问题. 1.注释掉admin.py里的 from models.model_routingInspection import R

laravel 连接建立数据库

1.框架设置 首先我们需要设置一下laravel框架,打开application/config/application.php文件,我们要先把文件中的key参数设置为任意的32位字符串: 'key'=>'YourSecretKeyGoesHere!', 这个字符串会被用于加密我们的密码.然后在application/config/database.php中设置数据库信息,其中database是我们事先建立的,你可以随意命名: 'mysql'=>array( 'driver' =>'mys

达梦数据迁移工具的使用

作为国产数据库,达梦是比较典型的一种,开发工作中会用到其他数据库表迁移到达梦数据库的问题,在此记录一下迁移方法也为他人提供方便. 该工具仅用于其他数据库表及文本文件迁移达梦,或达梦数据库表迁移到其他数据库. 工具: 1)达梦数据迁移工具及达梦数据库用户名.密码等信息 2)其他数据库用户名.密码等信息及待迁移的表: 例  : oracle数据库表example_1 第一步:打开DM数据迁移工具(一般安装达梦数据库时该工具会被一起安装)在迁移管理框中 右键-新建工程(输入工程名称). 迁移-右键新建