Cum se creează o migrare în Codeigniter?

Configurare noua (How To)

Situatie

În CodeIgniter, o migrare este o modalitate de a gestiona modificările bazei de date. Vă permite să modificați și să partajați cu ușurință schema bazei de date a aplicației.

Solutie

Pentru a crea o migrare în CodeIgniter va trebui să urmați acești pași:

  1. Activați migrarea setând $config[‘migration_enabled’] la TRUE în fișierul application/config/migration.php.
  2. Setați versiunea de migrare în $config[‘migration_version’]. Aceasta este versiunea pe care o va folosi clasa de migrare.
  3. Creați un nou fișier de migrare utilizând comanda migration:create Artisan. Această comandă va crea un nou fișier de migrare în dosarul aplicație/migrații cu un marcaj de timp ca nume de fișier.
  4. Deschideți fișierul de migrare și adăugați codul pentru modificările bazei de date. Puteți utiliza biblioteca dbforge pentru a crea, modifica și șterge tabele și câmpuri.
  5. Rulați migrarea utilizând comanda migrate Artisan. Aceasta va aplica modificările bazei de date.

Iată un exemplu de fișier de migrare care creează un tabel nou:

<?php

class Migration_Create_users_table extends CI_Migration {

    public function up()
    {
        $this->dbforge->add_field([
            ‘id’ => [
                ‘type’ => ‘INT’,
                ‘constraint’ => 11,
                ‘unsigned’ => TRUE,
                ‘auto_increment’ => TRUE
            ],
            ‘name’ => [
                ‘type’ => ‘VARCHAR’,
                ‘constraint’ => ‘100’,
            ],
            ’email’ => [
                ‘type’ => ‘VARCHAR’,
                ‘constraint’ => ‘100’,
                ‘unique’ => TRUE,
            ],
            ‘password’ => [
                ‘type’ => ‘VARCHAR’,
                ‘constraint’ => ‘255’,
            ],
            ‘created_at’ => [
                ‘type’ => ‘DATETIME’,
            ],
            ‘updated_at’ => [
                ‘type’ => ‘DATETIME’,
            ],
        ]);
        $this->dbforge->add_key(‘id’, TRUE);
        $this->dbforge->create_table(‘users’);
    }

    public function down()
    {
        $this->dbforge->drop_table(‘users’);
    }
}

Puteți rula apoi migrarea folosind comanda php index.php migrate. Aceasta va aplica modificările bazei de date.

Tip solutie

Permanent

Voteaza

(8 din 18 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?