Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 494 | Revision 496 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
233 lars 1
<?php
2
 
260 lars 3
    namespace App\Console\Commands;
233 lars 4
 
445 lars 5
    use App\Models\Address;
260 lars 6
    use App\Models\Directory;
7
    use App\Models\Item;
8
    use App\Models\Action;
272 lars 9
    use App\Models\Medium;
454 lars 10
    use App\Models\Order;
453 lars 11
    use App\Models\OrderAddress;
482 lars 12
    use App\Models\PaymentMethod;
263 lars 13
    use App\Models\Price;
260 lars 14
    use App\Models\ActionMedium;
15
    use App\Models\ItemMedium;
16
    use App\Models\DirectoryMedium;
465 lars 17
    use App\Models\Shop;
437 lars 18
    use App\Models\User;
260 lars 19
    use Illuminate\Console\Command;
20
    use Illuminate\Support\Facades\DB;
233 lars 21
 
260 lars 22
    class convertDB extends Command
23
    {
24
        /**
25
         * The name and signature of the console command.
26
         *
27
         * @var string
28
         */
29
        protected $signature = 'command:convertDB';
233 lars 30
 
260 lars 31
        /**
32
         * The console command description.
33
         *
34
         * @var string
35
         */
36
        protected $description = 'Converts the old webanOS-DB to laravel';
233 lars 37
 
260 lars 38
        /**
39
         * Execute the console command.
40
         *
41
         * @return void
42
         */
43
 
44
        public function handle(): void
238 lars 45
        {
294 lars 46
            $this->info( date( "d.m.Y H:i:s" ) . ": Verarbeitung gestartet" );
465 lars 47
            $migrateDirs = true;
488 lars 48
            /*if ( !$this->confirm( "Kategorien migrieren?" ) )
422 lars 49
            {
50
                $migrateDirs = false;
488 lars 51
            }*/
422 lars 52
            $migrateItems = true;
488 lars 53
            /*if ( !$this->confirm( "Artikel migrieren?" ) )
422 lars 54
            {
55
                $migrateItems = false;
488 lars 56
            }*/
422 lars 57
            $migrateActions = true;
488 lars 58
            /*if ( !$this->confirm( "Aktionen migrieren?" ) )
422 lars 59
            {
60
                $migrateActions = false;
488 lars 61
            }*/
422 lars 62
            $migrateMedia = true;
488 lars 63
            /*if ( !$this->confirm( "Medien migrieren?" ) )
422 lars 64
            {
65
                $migrateMedia = false;
488 lars 66
            }*/
422 lars 67
            if ( $migrateActions )
68
            {
69
                $this->migrateMedia();
70
            }
71
            if ( $migrateDirs )
72
            {
73
                $this->migrateDirs();
74
                if ( $migrateMedia )
75
                {
76
                    $this->migrateDirMedia();
77
                }
78
            }
79
            if ( $migrateItems )
80
            {
81
                $this->migrateItems();
82
                if ( $migrateMedia )
83
                {
84
                    $this->migrateItemMedia();
85
                }
86
            }
87
            if ( $migrateActions )
88
            {
89
                $this->migrateActions();
90
                if ( $migrateMedia )
91
                {
92
                    $this->migrateActionMedia();
93
                }
465 lars 94
            }
95
            $this->migrateShops();
482 lars 96
            $this->migratePaymentMethods();
465 lars 97
            if ( env( 'site' ) == env( 'shop' ) )
98
            {
99
                $this->migrateUsers();
100
                $this->migrateAddresses();
101
                $this->migrateOrderAddresses();
102
                $this->migrateOrders();
103
                $this->migrateOrderItems();
104
            }
294 lars 105
            $this->info( date( "d.m.Y H:i:s" ) . ": Verarbeitung beendet" );
234 lars 106
        }
260 lars 107
 
433 lars 108
        public function migrateMedia()
109
        {
110
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Medien" );
486 lars 111
            $start = 0;
112
            $sql = "SELECT
113
                    MAX(id) AS start
114
                FROM
115
                    media
116
            ";
117
            $row = DB::connection( "mysql" )->select( $sql );
118
            if ( $row[0]->start )
119
            {
120
                $start = $row[0]->start;
121
            }
433 lars 122
            $sql = "
123
                SELECT
124
                    *
125
                FROM
126
                    medien
486 lars 127
                WHERE
128
                    id>" . $start . "
433 lars 129
            ";
130
            $media = DB::connection( 'old' )->select( $sql );
131
            $progressbar = $this->output->createProgressBar( count( $media ) );
132
            $progressbar->start();
133
            foreach ( $media as $medium )
134
            {
135
                $mediumDB = new Medium();
136
                $mediumDB->id = $medium->id;
137
                $mediumDB->name = $medium->name;
138
                $mediumDB->folder = $medium->folder;
139
                $mediumDB->medium_type_id = $medium->typ;
140
                $mediumDB->description = $medium->beschreibung;
141
                if ( $medium->erstellt_am )
142
                {
143
                    $mediumDB->created_at = date( "Y-m-d H:i:s", $medium->erstellt_am );
144
                }
145
                $ersteller = $medium->erstellt_von;
146
                if ( !$ersteller )
147
                {
148
                    $ersteller = "WebanOS Laravel Upgrade";
149
                }
150
                $bearbeiter = $medium->letzte_aenderung_von;
151
                if ( !$bearbeiter )
152
                {
153
                    $bearbeiter = "WebanOS Laravel Upgrade";
154
                }
155
                $mediumDB->created_by = $ersteller;
156
                $mediumDB->updated_by = $bearbeiter;
157
                $mediumDB->save();
158
                $progressbar->advance();
159
            }
160
            $progressbar->finish();
161
            $progressbar->clear();
162
        }
163
 
260 lars 164
        private function migrateDirs()
165
        {
294 lars 166
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Kategorien" );
486 lars 167
            $start = 0;
168
            $sql = "SELECT
169
                    MAX(id) AS start
170
                FROM
171
                    directories
172
            ";
173
            $row = DB::connection( "mysql" )->select( $sql );
174
            if ( $row[0]->start )
175
            {
176
                $start = $row[0]->start;
177
            }
260 lars 178
            $sql = '
179
                SELECT
180
                    *
181
                FROM
182
                    directory
486 lars 183
                WHERE id>' . $start . '
260 lars 184
            ';
185
            $dirs = DB::connection( 'old' )->select( $sql );
301 lars 186
            $progressbar = $this->output->createProgressBar( count( $dirs ) );
187
            $progressbar->start();
260 lars 188
            foreach ( $dirs as $row )
189
            {
284 lars 190
                $ersteller = $row->erstellt_von;
191
                if ( !$ersteller )
192
                {
193
                    $ersteller = "WebanOS Laravel Upgrade";
194
                }
285 lars 195
                $bearbeiter = $row->letzte_Aenderung_von;
284 lars 196
                if ( !$bearbeiter )
197
                {
198
                    $bearbeiter = "WebanOS Laravel Upgrade";
199
                }
303 lars 200
                $dir = new Directory();
201
                $dir->id = $row->ID;
304 lars 202
                $dir->directory_id = $row->Father;
303 lars 203
                $dir->name = $row->Name;
432 lars 204
                $dir->articlemaster = $row->Artikelstamm;
304 lars 205
                $dir->status = $row->status;
303 lars 206
                $dir->kennung = $row->Kennung;
304 lars 207
                $dir->description = $row->Beschreibung;
208
                $dir->short_line_1 = $row->short_line_1;
303 lars 209
                $dir->url = $row->url;
210
                $dir->created_at = $row->erstellt_am;
211
                $dir->created_by = $ersteller;
212
                $dir->updated_by = $bearbeiter;
213
                $dir->updated_at = $row->letzte_Aenderung_am;
214
                $dir->save();
301 lars 215
                $progressbar->advance();
260 lars 216
            }
301 lars 217
            $progressbar->finish();
302 lars 218
            $progressbar->clear();
260 lars 219
        }
220
 
433 lars 221
        public function migrateDirMedia()
222
        {
223
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Kategorie-Bilder" );
486 lars 224
            $start = 0;
433 lars 225
            $sql = "SELECT
486 lars 226
                    MAX(medium_id) AS start
227
                FROM
228
                    directory_media
229
            ";
230
            $row = DB::connection( "mysql" )->select( $sql );
231
            if ( $row[0]->start )
232
            {
233
                $start = $row[0]->start;
234
            }
235
            $sql = "SELECT
433 lars 236
                    *
237
                FROM
238
                    directory_medien
486 lars 239
                WHERE
487 lars 240
                    medien_id>" . $start . "
433 lars 241
            ";
242
            $media = DB::connection( 'old' )->select( $sql );
243
            $progressbar = $this->output->createProgressBar( count( $media ) );
244
            $progressbar->start();
245
            foreach ( $media as $row )
246
            {
247
                $medium = new DirectoryMedium();
248
                $medium->directory_id = $row->directory_id;
249
                $medium->medium_id = $row->medien_id;
250
                $medium->rank = $row->rang;
251
                $medium->similar = $row->aehnlich;
252
                $medium->created_at = $row->zugeordnet_am;
253
                $medium->updated_at = $row->zugeordnet_am;
254
                $medium->created_by = "WebanOS Laravel Upgrade";
255
                $medium->updated_by = "WebanOS Laravel Upgrade";
256
                $medium->save();
257
                $progressbar->advance();
258
            }
259
            $progressbar->finish();
260
            $progressbar->clear();
261
        }
262
 
260 lars 263
        private function migrateItems()
264
        {
294 lars 265
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Artikel" );
486 lars 266
            $start = 0;
267
            $sql = "SELECT
268
                    MAX(id) AS start
269
                FROM
270
                    items
271
            ";
272
            $row = DB::connection( "mysql" )->select( $sql );
273
            if ( $row[0]->start )
274
            {
275
                $start = $row[0]->start;
276
            }
260 lars 277
            $sql = '
278
                SELECT
279
                    *
280
                FROM
281
                    artikel
282
                WHERE
491 lars 283
                    father >= -1
486 lars 284
                AND
490 lars 285
                    id>' . $start . '
260 lars 286
            ';
287
            $dirs = DB::connection( 'old' )->select( $sql );
301 lars 288
            $progressbar = $this->output->createProgressBar( count( $dirs ) );
289
            $progressbar->start();
260 lars 290
            foreach ( $dirs as $row )
291
            {
284 lars 292
                $item = new Item();
293
                $item->id = $row->ID;
294
                $item->directory_id = $row->Father;
295
                $item->name = $row->kurzbezeichnung;
296
                $item->status = $row->status;
297
                $item->kennung = $row->kennung;
298
                $item->description = $row->beschreibung;
299
                $item->created_at = $row->erstellt_am;
300
                $item->updated_at = $row->letzte_Aenderung_am;
283 lars 301
                $ersteller = $row->erstellt_von;
282 lars 302
                if ( !$ersteller )
281 lars 303
                {
282 lars 304
                    $ersteller = "WebanOS Laravel Upgrade";
281 lars 305
                }
287 lars 306
                $bearbeiter = $row->letzte_Aenderung_von;
282 lars 307
                if ( !$bearbeiter )
281 lars 308
                {
282 lars 309
                    $bearbeiter = "WebanOS Laravel Upgrade";
281 lars 310
                }
284 lars 311
                $item->created_by = $ersteller;
312
                $item->updated_by = $bearbeiter;
313
                $item->save();
301 lars 314
                $progressbar->advance();
260 lars 315
            }
301 lars 316
            $progressbar->finish();
302 lars 317
            $progressbar->clear();
294 lars 318
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Preise" );
494 lars 319
            $start = 0;
492 lars 320
            $sql = "SELECT
321
                    MAX(id) AS start
322
                FROM
323
                    prices
324
            ";
325
            $row = DB::connection( "mysql" )->select( $sql );
326
            if ( $row[0]->start )
327
            {
328
                $start = $row[0]->start;
329
            }
260 lars 330
            $sql = "
331
                SELECT
332
                    p.*
333
                FROM
334
                    preise p
335
                JOIN
336
                    artikel a
337
                ON
338
                    a.id=p.artikel_id
339
                WHERE
340
                    a.father >=-1
492 lars 341
                AND
342
                    p.id>" . $start . "
260 lars 343
            ";
344
            $prices = DB::connection( 'old' )->select( $sql );
301 lars 345
            $progressbar = $this->output->createProgressBar( count( $prices ) );
346
            $progressbar->start();
260 lars 347
            foreach ( $prices as $price )
348
            {
349
                Price::factory()->createQuietly( [
493 lars 350
                    "id"          => $price->id,
260 lars 351
                    "item_id"     => $price->artikel_id,
352
                    "preis_index" => $price->preis_index,
353
                    "preis"       => $price->preis,
354
                    "staffel"     => $price->staffel,
355
                    "created_at"  => $price->geaendert_am,
288 lars 356
                    "created_by"  => $price->geaendert_von,
357
                    "updated_by"  => $price->geaendert_von,
260 lars 358
                    "updated_at"  => $price->geaendert_am
359
                ] );
301 lars 360
                $progressbar->advance();
260 lars 361
            }
301 lars 362
            $progressbar->finish();
302 lars 363
            $progressbar->clear();
260 lars 364
        }
365
 
433 lars 366
        public function migrateItemMedia()
367
        {
368
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Artikel-Bilder" );
486 lars 369
            $start = 0;
433 lars 370
            $sql = "SELECT
486 lars 371
                    MAX(medium_id) AS start
372
                FROM
495 lars 373
                    item_media
486 lars 374
            ";
375
            $row = DB::connection( "mysql" )->select( $sql );
376
            if ( $row[0]->start )
377
            {
378
                $start = $row[0]->start;
379
            }
380
            $sql = "SELECT
433 lars 381
                    *
382
                FROM
383
                    artikel_medien
486 lars 384
                WHERE
385
                    medien_id>" . $start . "
433 lars 386
            ";
387
            $media = DB::connection( 'old' )->select( $sql );
388
            $progressbar = $this->output->createProgressBar( count( $media ) );
389
            $progressbar->start();
390
            foreach ( $media as $row )
391
            {
392
                $medium = new ItemMedium();
393
                $medium->item_id = $row->artikel_id;
394
                $medium->medium_id = $row->medien_id;
395
                $medium->rank = $row->rang;
396
                $medium->similar = $row->aehnlich;
397
                $medium->created_at = $row->zugeordnet_am;
398
                $medium->updated_at = $row->zugeordnet_am;
399
                $medium->created_by = "WebanOS Laravel Upgrade";
400
                $medium->updated_by = "WebanOS Laravel Upgrade";
401
                $medium->save();
402
                $progressbar->advance();
403
            }
404
            $progressbar->finish();
405
            $progressbar->clear();
406
        }
407
 
260 lars 408
        private function migrateActions()
409
        {
294 lars 410
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Aktionen" );
486 lars 411
            $start = 0;
412
            $sql = "SELECT
413
                    MAX(id) AS start
414
                FROM
415
                    actions
416
            ";
417
            $row = DB::connection( "mysql" )->select( $sql );
418
            if ( $row[0]->start )
419
            {
420
                $start = $row[0]->start;
421
            }
260 lars 422
            $sql = "
423
                SELECT
424
                    *
425
                FROM
426
                    Aktionen
486 lars 427
                WHERE
428
                    id>" . $start . "
260 lars 429
            ";
430
            $actions = DB::connection( 'old' )->select( $sql );
301 lars 431
            $progressbar = $this->output->createProgressBar( count( $actions ) );
432
            $progressbar->start();
260 lars 433
            foreach ( $actions as $action )
434
            {
435
                $actionDB = new Action();
436
                $actionDB->id = $action->ID;
437
                $actionDB->headline = $action->headline;
438
                $actionDB->text = $action->text;
439
                $actionDB->rang = $action->rang;
440
                $actionDB->config = $action->config;
264 lars 441
                $actionDB->category = $action->Kategorie;
260 lars 442
                $actionDB->notes = $action->notizen;
443
                $actionDB->valid_from = $action->von;
444
                $actionDB->valid_to = $action->bis;
291 lars 445
                $actionDB->created_by = "WebanOS Laravel Upgrade";
446
                $actionDB->updated_by = "WebanOS Laravel Upgrade";
265 lars 447
                $actionDB->save();
301 lars 448
                $progressbar->advance();
260 lars 449
            }
301 lars 450
            $progressbar->finish();
302 lars 451
            $progressbar->clear();
260 lars 452
        }
272 lars 453
 
433 lars 454
        public function migrateActionMedia()
272 lars 455
        {
433 lars 456
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Aktions-Bilder" );
486 lars 457
            $start = 0;
433 lars 458
            $sql = "SELECT
486 lars 459
                    MAX(id) AS start
460
                FROM
461
                    action_media
462
            ";
463
            $row = DB::connection( "mysql" )->select( $sql );
464
            if ( $row[0]->start )
465
            {
466
                $start = $row[0]->start;
467
            }
468
            $sql = "SELECT
272 lars 469
                    *
470
                FROM
433 lars 471
                    aktionen_medien
486 lars 472
                WHERE
473
                    id>" . $start . "
272 lars 474
            ";
475
            $media = DB::connection( 'old' )->select( $sql );
301 lars 476
            $progressbar = $this->output->createProgressBar( count( $media ) );
477
            $progressbar->start();
433 lars 478
            foreach ( $media as $row )
272 lars 479
            {
433 lars 480
                $medium = new ActionMedium();
481
                $medium->action_id = $row->aktionen_id;
482
                $medium->medium_id = $row->medien_id;
483
                $medium->rank = $row->rang;
484
                $medium->created_by = "WebanOS Laravel Upgrade";
485
                $medium->updated_by = "WebanOS Laravel Upgrade";
486
                $medium->save();
301 lars 487
                $progressbar->advance();
272 lars 488
            }
301 lars 489
            $progressbar->finish();
302 lars 490
            $progressbar->clear();
272 lars 491
        }
304 lars 492
 
493
        private function migrateUsers()
494
        {
495
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere User" );
433 lars 496
            $start = 0;
497
            $sql = "SELECT
498
                    MAX(id) AS start
499
                FROM
434 lars 500
                    users
433 lars 501
            ";
502
            $row = DB::connection( "order" )->select( $sql );
449 lars 503
            if ( $row[0]->start )
433 lars 504
            {
435 lars 505
                $start = $row[0]->start;
433 lars 506
            }
507
            $sql = "SELECT
508
                    *
509
                FROM
434 lars 510
                    Logins
433 lars 511
                WHERE
512
                    id>" . $start . "
513
            ";
437 lars 514
            $users = DB::connection( "oldOrder" )->select( $sql );
515
            $progressbar = $this->output->createProgressBar( count( $users ) );
448 lars 516
            $progressbar->start();
437 lars 517
            foreach ( $users as $oldUser )
433 lars 518
            {
443 lars 519
                $ersteller = $oldUser->erstellt_von;
442 lars 520
                if ( !$ersteller )
521
                {
522
                    $ersteller = "WebanOS Laravel Upgrade";
523
                }
443 lars 524
                $bearbeiter = $oldUser->letzte_Aenderung_von;
442 lars 525
                if ( !$bearbeiter )
526
                {
527
                    $bearbeiter = "WebanOS Laravel Upgrade";
528
                }
437 lars 529
                $user = new User();
438 lars 530
                $user->id = $oldUser->ID;
437 lars 531
                $user->email = $oldUser->E_Mail;
532
                $user->created_at = $oldUser->erstellt_am;
442 lars 533
                $user->created_by = $ersteller;
534
                $user->updated_by = $bearbeiter;
437 lars 535
                $user->updated_at = $oldUser->letzte_Aenderung_am;
536
                $user->save();
441 lars 537
                $progressbar->advance();
433 lars 538
            }
441 lars 539
            $progressbar->finish();
540
            $progressbar->clear();
304 lars 541
        }
542
 
445 lars 543
        private function migrateAddresses( bool $isOrder = false )
304 lars 544
        {
445 lars 545
            $typ = "Adressen";
546
            $table = "addresses";
547
            $oldTable = "adresse";
548
            if ( $isOrder === true )
549
            {
550
                $typ = "Bestelladressen";
551
                $table = "order_addresses";
552
                $oldTable = "bestelladresse";
553
            }
554
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere " . $typ );
555
            $start = 0;
556
            $sql = "SELECT
557
                    MAX(id) AS start
558
                FROM
559
                    " . $table . "
560
            ";
561
            $row = DB::connection( "order" )->select( $sql );
449 lars 562
            if ( $row[0]->start )
445 lars 563
            {
564
                $start = $row[0]->start;
565
            }
566
            $sql = "SELECT
567
                    *
568
                FROM
569
                    " . $oldTable . "
570
                WHERE
571
                    id>" . $start . "
572
            ";
573
            $addresses = DB::connection( "oldOrder" )->select( $sql );
574
            $progressbar = $this->output->createProgressBar( count( $addresses ) );
447 lars 575
            $progressbar->start();
445 lars 576
            foreach ( $addresses as $oldAddress )
577
            {
578
                $ersteller = "WebanOS Laravel Upgrade";
579
                $bearbeiter = "WebanOS Laravel Upgrade";
458 lars 580
                if ( $isOrder === true )
452 lars 581
                {
582
                    $address = new OrderAddress();
583
                }
584
                else
585
                {
586
                    $address = new Address();
587
                }
445 lars 588
                $address->id = $oldAddress->id;
589
                $address->user_id = $oldAddress->logins_id;
590
                $address->salutation = $oldAddress->anrede;
591
                $address->pro_title = $oldAddress->pro_title;
592
                $address->name = $oldAddress->vorname;
593
                $address->lastname = $oldAddress->nachname;
594
                $address->company = $oldAddress->firma;
595
                $address->company2 = $oldAddress->firma2;
596
                $address->street = $oldAddress->strasse1;
597
                $address->houseno = $oldAddress->str_nr1;
598
                $address->street2 = $oldAddress->strasse2;
599
                $address->zip = $oldAddress->plz;
600
                $address->city = $oldAddress->ort;
601
                $address->country_id = $oldAddress->land;
602
                $address->state_id = $oldAddress->state;
603
                $address->phone = $oldAddress->telefon;
604
                $address->fax = $oldAddress->fax;
605
                $address->email = $oldAddress->email;
606
                $address->nettocalculation = $oldAddress->nettoberechnung;
450 lars 607
                $address->hr_nr = $oldAddress->hr_nr;
445 lars 608
                $address->vat_id = $oldAddress->vat_id;
609
                $address->vat_free = $oldAddress->mwst_befreiung;
610
                $address->legal_form = $oldAddress->legal_form;
611
                $address->comment = $oldAddress->comment;
451 lars 612
                $address->created_at = $oldAddress->letzte_aenderung_am;
445 lars 613
                $address->created_by = $ersteller;
614
                $address->updated_by = $bearbeiter;
615
                $address->updated_at = $oldAddress->letzte_aenderung_am;
616
                $address->save();
617
                $progressbar->advance();
618
            }
619
            $progressbar->finish();
620
            $progressbar->clear();
304 lars 621
        }
622
 
623
        private function migrateOrderAddresses()
624
        {
445 lars 625
            $this->migrateAddresses( true );
304 lars 626
        }
627
 
628
        private function migrateOrders()
629
        {
630
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Bestellungen" );
454 lars 631
            $start = 0;
632
            $sql = "SELECT
633
                    MAX(id) AS start
634
                FROM
635
                    orders
636
            ";
637
            $row = DB::connection( "order" )->select( $sql );
638
            if ( $row[0]->start )
639
            {
640
                $start = $row[0]->start;
641
            }
642
            $sql = "SELECT
643
                    *
644
                FROM
645
                    Bestellung
646
                WHERE
647
                    id>" . $start . "
648
            ";
649
            $orders = DB::connection( "oldOrder" )->select( $sql );
650
            $progressbar = $this->output->createProgressBar( count( $orders ) );
651
            $progressbar->start();
652
            foreach ( $orders as $oldOrder )
653
            {
654
                $order = new Order();
655
                $order->id = $oldOrder->ID;
481 lars 656
                $order->shop_id = $oldOrder->shops_ID;
459 lars 657
                $order->order_type_id = $oldOrder->bestellart_id;
458 lars 658
                $order->payment_method_id = $oldOrder->zahlart_id;
659
                $order->user_id = $oldOrder->Login;
660
                $order->ship_addr_id = $oldOrder->ship_addr_id;
661
                $order->bill_addr_id = $oldOrder->bill_addr_id;
662
                $order->paid = $oldOrder->bezahlt;
663
                $order->paid_at = $oldOrder->bezahlt_am;
664
                $order->paid_comment = $oldOrder->bezahlt_bemerkung;
665
                $order->foreign_id = $oldOrder->fremd_id;
666
                $order->foreign_payment_id = $oldOrder->bezahlt_fremdid;
667
                $order->status = $oldOrder->status;
668
                $order->total_amount_buffer = $oldOrder->gesamtsumme_buffer;
669
                $order->item_status_buffer = $oldOrder->artikelstatus_buffer;
670
                $order->invoice_status_buffer = $oldOrder->rechnungsstatus_buffer;
671
                $order->delivery_note_buffer = $order->lieferscheinstatus_buffer;
672
                $order->tax = $oldOrder->tax;
673
                $order->comment = $oldOrder->Bemerkung;
674
                $order->external_comment = $oldOrder->Bemerkung_extern;
675
                $order->note = $oldOrder->notiz;
460 lars 676
                $order->additional_info = $oldOrder->zusatzInfo;
458 lars 677
                $order->shipping_group_id = $oldOrder->versandgruppen_id;
678
                $order->kk_info = $oldOrder->kk_info;
679
                $order->created_by = $oldOrder->erstellt_von;
680
                $order->updated_by = $oldOrder->letzte_Aenderung_von;
681
                $order->updated_at = $oldOrder->letzte_Aenderung_am;
682
                $order->created_at = $oldOrder->erstellt_am;
454 lars 683
                $order->save();
684
                $progressbar->advance();
685
            }
686
            $progressbar->finish();
687
            $progressbar->clear();
304 lars 688
        }
689
 
690
        private function migrateOrderItems()
691
        {
692
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Artikel in Besetllungen" );
454 lars 693
            $start = 0;
694
            $sql = "SELECT
695
                    MAX(id) AS start
696
                FROM
697
                    order_items
698
            ";
699
            $row = DB::connection( "order" )->select( $sql );
700
            if ( $row[0]->start )
701
            {
702
                $start = $row[0]->start;
703
            }
704
            $sql = "SELECT
705
                    *
706
                FROM
707
                    artikel_to_Bestellung
708
                WHERE
709
                    id>" . $start . "
710
            ";
711
            $orderItems = DB::connection( "oldOrder" )->select( $sql );
712
            $progressbar = $this->output->createProgressBar( count( $orderItems ) );
713
            $progressbar->start();
714
            foreach ( $orderItems as $oldOrderItem )
715
            {
716
                $progressbar->advance();
717
            }
718
            $progressbar->finish();
719
            $progressbar->clear();
304 lars 720
        }
422 lars 721
 
465 lars 722
        private function migrateShops()
723
        {
473 lars 724
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Shops" );
477 lars 725
            $start = 0;
726
            $sql = "
727
                SELECT
480 lars 728
                    MAX(id) AS start
477 lars 729
                FROM
479 lars 730
                    shops
477 lars 731
            ";
478 lars 732
            $row = DB::connection( 'mysql' )->select( $sql );
477 lars 733
            if ( $row[0]->start )
734
            {
735
                $start = $row[0]->start;
736
            }
466 lars 737
            $sql = "SELECT
465 lars 738
                    *
739
                FROM
740
                    shops
477 lars 741
                WHERE
742
                    id>" . $start . "
465 lars 743
            ";
466 lars 744
            $shops = DB::connection( 'old' )->select( $sql );
465 lars 745
            foreach ( $shops as $oldShop )
746
            {
747
                $shop = new Shop();
466 lars 748
                $shop->id = $oldShop->ID;
749
                $shop->name = $oldShop->Name;
750
                $shop->short = $oldShop->short;
471 lars 751
                $shop->re_short = '';
466 lars 752
                if ( isset( $oldShop->re_short ) && $oldShop->re_short )
465 lars 753
                {
471 lars 754
                    $shop->re_short = $oldShop->re_short;
465 lars 755
                }
466 lars 756
                if ( isset( $oldShop->preisindex_ek ) && $oldShop->preisindex_ek )
757
                {
758
                    $shop->preisindex_ek = $oldShop->preisindex_ek;
759
                }
760
                $shop->ebay = $oldShop->ebay;
761
                $shop->erfassung = $oldShop->erfassung;
467 lars 762
                if ( isset( $oldShop->status ) && $oldShop->status )
763
                {
764
                    $shop->status = $oldShop->status;
765
                }
468 lars 766
                if ( isset( $oldShop->rang ) && $oldShop->rang )
767
                {
768
                    $shop->rank = $oldShop->rang;
769
                }
466 lars 770
                $shop->klonziel = $oldShop->klonziel;
771
                $shop->konroot = $oldShop->konroot;
469 lars 772
                if ( isset( $oldShop->home ) && $oldShop->home )
773
                {
774
                    $shop->home = $oldShop->home;
775
                }
466 lars 776
                $shop->database = $oldShop->database;
777
                $shop->domain = $oldShop->domain;
778
                $shop->mail_server = $oldShop->mail_server;
779
                $shop->mail_user = $oldShop->mail_user;
470 lars 780
                $shop->mail_password = $oldShop->mail_passwort;
465 lars 781
                $shop->save();
782
            }
482 lars 783
 
465 lars 784
        }
785
 
482 lars 786
        private function migratePaymentMethods()
787
        {
788
            $sql = "SELECT
789
                    *
790
                FROM
791
                    zahlungsarten
792
            ";
793
            $methods = DB::connection( 'old' )->select( $sql );
794
            foreach ( $methods as $method )
795
            {
796
                PaymentMethod::factory()->create( [
797
                    "id"            => $method->id,
798
                    "name"          => $method->name,
799
                    "discount"      => $method->abschlag,
800
                    "internal_name" => $method->interner_name,
801
                    "info_in_shop"  => $method->info_im_shop,
802
                    "shipping_text" => $method->versandtextbaustein,
803
                ] );
804
            }
805
        }
806
 
233 lars 807
    }