Rumah pembangunan bahagian belakang tutorial php thinkphp5中migrate的数据库迁移

thinkphp5中migrate的数据库迁移

Jun 07, 2018 pm 04:12 PM
migrate thinkphp5 tp5 Penghijrahan pangkalan data

这里讲述的是tp5 migrate数据库迁移工具的相关介绍,非常的简单实用,有需要的小伙伴可以来看下本文的实例

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

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

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

composer require topthink/think-migration
Salin selepas log masuk

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

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

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

重新composer update即可

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

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

 use think\migration\Migrator;
 use think\migration\db\Column;
 
 class CreateUserTable extends Migrator
 {
   
   /**
   * 建立用户表
   */
   public function up(){
     $table = $this->table('user');
     $table->addColumn('username' , 'string' , ['limit' => 30])
        ->addColumn('passwork' , 'string' , ['limit' => 32])
        ->addColumn('email' , 'string' , ['limit' => 25])
        ->addColumn('lastlogin_ip' , 'string' , ['limit' => 15])
        ->addTimestamps('create_time' , 'lastlogin_time')
        ->addColumn('status' , 'integer' , ['limit' => 1 , 'default' => 1])
        ->setId('user_id')
        ->save();
   }
   
   /**
   * 提供回滚的删除用户表方法
   */
   public function down(){
     $this->dropTable('user');
   }
 }
Salin selepas log masuk

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

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

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

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

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

非常的方便

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

thinkPHP数据库的增删改查操作

Atas ialah kandungan terperinci thinkphp5中migrate的数据库迁移. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika saya mendapat ralat semasa menggunakan thinkphp5 di Pagoda? Apakah yang perlu saya lakukan jika saya mendapat ralat semasa menggunakan thinkphp5 di Pagoda? Dec 19, 2022 am 11:04 AM

Penyelesaian kepada ralat yang dilaporkan semasa menggunakan thinkphp5 dalam Pagoda: 1. Buka pelayan Pagoda, pasang sambungan php pathinfo dan dayakannya 2. Konfigurasikan fail ".access" dengan kandungan "RewriteRule ^(.*)$ index.php ?s=/$1 [QSA ,PT,L]”; 3. Dalam pengurusan laman web, hanya dayakan pseudo-static thinkphp.

Petua migrasi pangkalan data dalam rangka kerja Django Petua migrasi pangkalan data dalam rangka kerja Django Jun 17, 2023 pm 01:10 PM

Django ialah rangka kerja pembangunan web yang ditulis dalam Python Ia menyediakan banyak alat dan modul yang mudah untuk membantu pembangun membina tapak web dan aplikasi dengan cepat. Salah satu ciri yang paling penting ialah fungsi pemindahan pangkalan data, yang boleh membantu kami menguruskan perubahan skema pangkalan data dengan mudah. Dalam artikel ini, kami akan memperkenalkan beberapa petua untuk menggunakan migrasi pangkalan data dalam Django, termasuk cara memulakan migrasi pangkalan data baharu, cara mengesan konflik migrasi pangkalan data, cara melihat rekod migrasi pangkalan data sejarah, dsb.

Flask-Migrate: Pindahkan pangkalan data menggunakan Python Flask-Migrate: Pindahkan pangkalan data menggunakan Python Jun 17, 2023 am 10:04 AM

Flask-Migrate: Menggunakan Python untuk memindahkan pangkalan data Dengan pembangunan berterusan pembangunan web, kepentingan pangkalan data telah menjadi lebih dan lebih menonjol. Semasa proses pembangunan, kami perlu mengubah suai dan memindahkan data. Walau bagaimanapun, jika anda mengubah suai terus pada pangkalan data, ia mungkin membawa risiko yang tidak dapat diramalkan. Pada masa ini, Flask-Migrate telah wujud. Dalam artikel ini, kami akan memberi tumpuan kepada penggunaan Flask-Migrate dan cara memindahkan pangkalan data melalui Python. Fl

Apakah yang perlu saya lakukan jika penulisan semula url thinkphp5 gagal? Apakah yang perlu saya lakukan jika penulisan semula url thinkphp5 gagal? Dec 12, 2022 am 09:31 AM

Penyelesaian untuk penulisan semula url thinkphp5 tidak berfungsi: 1. Semak sama ada modul mod_rewrite.so dimuatkan dalam fail konfigurasi httpd.conf 2. Tukar Tiada dalam AllowOverride None to All 3. Ubah suai fail konfigurasi Apache .htaccess kepada "RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]" dan simpannya.

Apakah yang perlu saya lakukan jika catatan thinkphp5 tidak mendapat nilai? Apakah yang perlu saya lakukan jika catatan thinkphp5 tidak mendapat nilai? Dec 06, 2022 am 09:29 AM

catatan thinkphp5 tidak boleh mendapatkan nilai kerana TP5 menggunakan fungsi strpos untuk mencari rentetan app/json dalam nilai jenis kandungan Pengepala.

Bagaimana untuk mendapatkan URL yang diminta dalam thinkphp5 Bagaimana untuk mendapatkan URL yang diminta dalam thinkphp5 Dec 20, 2022 am 09:48 AM

Kaedah untuk thinkphp5 untuk mendapatkan URL yang diminta: 1. Gunakan kaedah "$request = Request::instance();" kelas "\think\Request" untuk mendapatkan maklumat URL semasa 2. Gunakan pembantu terbina dalam fungsi "$request-> url()" untuk mendapatkan alamat URL lengkap termasuk nama domain.

Langkah untuk melaksanakan migrasi pangkalan data (Migrasi) menggunakan rangka kerja Zend Langkah untuk melaksanakan migrasi pangkalan data (Migrasi) menggunakan rangka kerja Zend Jul 28, 2023 pm 05:54 PM

Langkah-langkah untuk melaksanakan migrasi pangkalan data (Migrasi) menggunakan rangka kerja Zend Pengenalan: Penghijrahan pangkalan data merupakan bahagian yang sangat diperlukan dalam proses pembangunan perisian Fungsinya adalah untuk memudahkan pengubahsuaian pasukan dan kawalan versi struktur pangkalan data semasa pembangunan. Rangka Kerja Zend menyediakan satu set alat pemindahan pangkalan data yang berkuasa yang boleh membantu kami mengurus perubahan pada struktur pangkalan data dengan mudah. Artikel ini akan memperkenalkan langkah cara menggunakan rangka kerja Zend untuk melaksanakan pemindahan pangkalan data dan melampirkan contoh kod yang sepadan. Langkah 1: Pasang Rangka Kerja Zend Dahulu

PHP dan SQLite: Bagaimana untuk melakukan migrasi dan naik taraf pangkalan data PHP dan SQLite: Bagaimana untuk melakukan migrasi dan naik taraf pangkalan data Jul 28, 2023 pm 08:10 PM

PHP dan SQLite: Cara melakukan migrasi pangkalan data dan menaik taraf Penghijrahan dan peningkatan pangkalan data adalah tugas yang sangat biasa apabila membangunkan aplikasi web. Untuk pembangun yang menggunakan PHP dan SQLite, proses ini mungkin lebih rumit. Artikel ini akan memperkenalkan cara menggunakan PHP dan SQLite untuk migrasi dan naik taraf pangkalan data, serta menyediakan beberapa contoh kod untuk rujukan. Cipta pangkalan data SQLite Pertama, kita perlu mencipta pangkalan data SQLite. Menggunakan pangkalan data SQLite adalah sangat mudah, kami

See all articles