| 1234567891011121314151617181920212223242526272829303132 |
- <?php
- // Paranda D7->D11 migratsiooni skeemi erinevused:
- // 1. langcode varchar(32) -> varchar(12) kõigil node field tabelitel
- // 2. field_nimi_value varchar(1) -> varchar(255) (name tüübi artefakt)
- use Drupal\Core\Database\Database;
- $conn = Database::getConnection();
- // 1. langcode 32 -> 12
- $tables = $conn->query(
- "SELECT DISTINCT table_name FROM information_schema.columns
- WHERE table_schema = :db AND column_name = 'langcode' AND column_type = 'varchar(32)'
- AND (table_name LIKE 'node__%' OR table_name LIKE 'node_revision__%')",
- [':db' => $conn->getConnectionOptions()['database']]
- )->fetchCol();
- foreach ($tables as $table) {
- $conn->query("ALTER TABLE {{$table}} MODIFY langcode varchar(12) NOT NULL");
- echo "langcode 12: $table\n";
- }
- // 2. field_nimi_value varchar(1) -> varchar(255)
- foreach (['node__field_nimi', 'node_revision__field_nimi'] as $table) {
- try {
- $conn->query("ALTER TABLE {{$table}} MODIFY field_nimi_value varchar(255)");
- echo "field_nimi_value 255: $table\n";
- } catch (\Exception $e) {
- echo "skip $table: " . $e->getMessage() . "\n";
- }
- }
- echo "done\n";
|