Datenbankmigrationen sind ein wesentlicher Bestandteil der Anwendungsentwicklung, da sie Entwicklern es ermöglichen, Änderungen am Datenbankschema konsistent und strukturiert zu steuern und zu verwalten. In PHP kann das Verwalten von Datenbankmigrationen manuell durchgeführt werden, aber es ist effizienter und weniger fehleranfällig, ein Migrationstool zu verwenden, das den Prozess automatisiert. Ein Migrationstool bietet eine organisierte Möglichkeit, Schemaänderungen zu behandeln und die Datenbank synchron mit dem Code der Anwendung zu halten.
In diesem Artikel werden wir untersuchen, wie Datenbankmigrationen in PHP verwaltet werden, einschließlich der Verwendung populärer Bibliotheken, Best Practices und praktischen Beispiele.
Datenbankmigrationen sind eine Möglichkeit, die Änderungen am Datenbankschema (z. B. Erstellen, Aktualisieren oder Löschen von Tabellen und Spalten) und die Anwendung dieser Änderungen auf kontrollierte Weise zu versionieren. Migrationen erlauben Teams:
und doctrine migrations . .
Schritt 1: Installieren Sie Phinx über Composer
Komponist benötigt Robmorgan/Phinx
composer require robmorgan/phinxSchritt 2: Konfigurationsdatei
php
zurückkehren [
'Pfade' => [
'Migrationen' => 'DB/Migrationen',
'Samen' => 'DB/Samen' '
],
'Umgebungen' => [
'Standard' => 'Entwicklung',
'Entwicklung' => [
'adapter' => 'mysql',
'Host' => 'localhost',
'name' => 'your_database_name',
'user' => 'root',
'Pass' => '',
'charset' => 'utf8',
],
'Produktion' => [
'adapter' => 'mysql',
'Host' => 'Production_host',
'name' => 'your_production_database',
'user' => 'prod_user',
'Pass' => 'prod_password',
'charset' => 'utf8',
]
]
];
[ 'migrations' => 'db/migrations', 'seeds' => 'db/seeds' ], 'environments' => [ 'default' => 'development', 'development' => [ 'adapter' => 'mysql', 'host' => 'localhost', 'name' => 'your_database_name', 'user' => 'root', 'pass' => '', 'charset' => 'utf8', ], 'production' => [ 'adapter' => 'mysql', 'host' => 'production_host', 'name' => 'your_production_database', 'user' => 'prod_user', 'pass' => 'prod_password', 'charset' => 'utf8', ] ] ];
Schritt 3: Erstellen einer Migration
PHP -Anbieter/bin/Phinx createSerStable
php vendor/bin/phinx create CreateUsersTable
php
Verwenden Sie Phinx \ Migration \ AbstractMigration;
Klasse CreateSserStable erweitert AbstractMigration
{
öffentliche Funktionsänderung ()
{
$ table = $ this-> table ('user');
$ table-> addColumn ('name', 'string')
-> addColumn ('E -Mail', 'String')
-> create ();
}
}
table('users'); $table->addColumn('name', 'string') ->addColumn('email', 'string') ->create(); } }
Schritt 4: Migrationen ausführen
PHP -Anbieter/bin/phinx migrieren
php vendor/bin/phinx migrate
PHP -Anbieter/bin/phinx migrieren -e -Produktion
composer require robmorgan/phinxSchritt 5: Migrationen zurückrollen
PHP -Anbieter/bin/Phinx Rollback
php vendor/bin/phinx rollback
PHP -Anbieter/bin/Phinx Rollback -t 20210101000000
php vendor/bin/phinx rollback -t 20210101000000
5. Verwenden von Doktrin -Migrationen für Datenbankmigrationen
Schritt 1: Installieren Sie die Migrationen von Doktrin
composer require doctrine/migrations
php
Verwenden Sie Doctrine \ DBAL \ TRAVERMANAGER;
Verwenden Sie Doctrine \ Migrations \ Konfiguration \ Konfiguration;
Verwenden Sie Doctrine \ Migrations \ Tools \ Console \ Befehl;
Verwenden Sie Doctrine \ Migrations \ Tools \ Console \ Conolerunner;
// Die Datenbankverbindung einrichten
$ conn = driverManager :: getConnection ([
'url' => 'mysql: // root:@localhost/your_database_name',
]);
// Richten Sie die Migrationskonfiguration ein
$ config = neue Konfiguration ($ conn);
$ config-> setMigrationsnamePace ('App \ Migrations');
$ config-> setMigrationsDirectory ('DB/Migrations');
// Erstellen Sie das Migrationstool
$ console = conserunner :: createApplication ($ config);
$ console-> run ();
'mysql://root:@localhost/your_database_name', ]); // Set up the migrations configuration $config = new Configuration($conn); $config->setMigrationsNamespace('App\Migrations'); $config->setMigrationsDirectory('db/migrations'); // Create the migration tool $console = ConsoleRunner::createApplication($config); $console->run();
PHP-Anbieter/bin/doctrine-migrations generieren
php vendor/bin/doctrine-migrations generate
Schritt 4: Migrationen ausführen
PHP-Anbieter/bin/doctrine-migrations migrieren
php vendor/bin/doctrine-migrations generate
Schritt 5: Migrationen zurückrollen
PHP-Anbieter/bin/doctrine-migrations ausführen-down
php vendor/bin/phinx rollback -t 20210101000000
6. Best Practices für die Verwaltung von Migrationen in PHP
doctrine migrations bietet eine strukturierte und automatisierte Möglichkeit zum Verwalten von Änderungen des Datenbankschemas. Diese Tools helfen Ihnen dabei, manuelle Fehler zu vermeiden, die Konsistenz über Umgebungen hinweg aufrechtzuerhalten und sicherzustellen, dass sich Ihr Datenbankschema auf kontrollierte und versionierte Weise weiterentwickelt. Durch die Verwendung dieser Tools können Sie sich darauf konzentrieren, die Logik der Anwendung zu erstellen und gleichzeitig sicherzustellen, dass Ihre Datenbank immer mit den Änderungen in Ihrem Code synchronisiert ist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3