2016-09-05 1 views
-2

beginnt Ich einen Skript lief den anderen Tag mit Laravel 4-Schema, das eine Spalte (service_id) an alle Tabellen hinzugefügt, wo der Tabellenname beginnt mit ids_MySQL Update-Spalte standardmäßig auf allen Tischen, an denen Tabellenname mit ids_

Wenn wir Wenn Sie das Skript ausführen, haben wir einen Fehler gemacht, keinen Standardwert für die hinzugefügte Spalte festzulegen.

Ich glaube, dass es irgendwie sein muss, dass entweder über Laravel 4 Schema oder ein Bash-Skript, das uns erlauben sollte Rollback und fügen Sie den Standardwert hinzu, aber ich kann nicht saum es herauszufinden.

Kann jemand bitte helfen.

Danke.

+0

Was hast du probiert? Es klingt, als ob Sie ein Skript haben, das alle Tabellen aktualisiert, die Sie aktualisiert haben, also müssen Sie nur ALTER TABLE ... ALTER COLUMN ... SET DEFAULT ...? –

+0

Wir haben ein Skript ausgeführt, das uns eine Liste aller Tabellen in der Datenbank geliefert hat und dann eine foreach - Schleife über sie gemacht hat, um die Tabellen zu finden, die mit ids_ beginnen, ich habe mir die Laravel 4 - Schemadokumente angesehen Tabellen, aber es sagt nur wirklich über die Einstellung der Standard bei der Erstellung. –

Antwort

0

Versuchen Sie folgendes:

ALTER TABLE `your_table` CHANGE COLUMN `service_id` `service_id` VARCHAR(10) NOT NULL DEFAULT 'your_default_value'; 

wo VARCHAR(10) ein Beispiel ist, müssen aber die gleichen bleiben wie zuvor angegeben.

+0

Hallo Omer, danke für dieses Bit, das Problem, das ich habe, ist, dass es 23 Server gibt und im Durchschnitt gibt es 30-50 Tabellen, die auf jedem Server aktualisiert werden müssen, so dass der Tabellenname durch ein Skript festgelegt werden konnte Speichern Sie einen sehr manuellen Prozess. –

+0

Dann gehen Sie für eine Schleife in bash für die Tabellennamen und mysql (-e) von der Kommandozeile. –

Verwandte Themen