From 5f46fd2f1506148e7eafa34ab29f88ca299d889c Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Sun, 7 Oct 2018 14:53:52 +0200 Subject: Database: Don't use `0000-00-00 00:00:00` as a datetime --- db/install.sql | 6 ++-- db/migrations/2018_01_01_000003_fix_old_tables.php | 41 ++++++++++++++++++++++ 2 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 db/migrations/2018_01_01_000003_fix_old_tables.php (limited to 'db') diff --git a/db/install.sql b/db/install.sql index 3c3e41e6..e1c9d579 100644 --- a/db/install.sql +++ b/db/install.sql @@ -205,7 +205,7 @@ DROP TABLE IF EXISTS `NewsComments`; CREATE TABLE `NewsComments` ( `ID` bigint(11) NOT NULL, `Refid` int(11) NOT NULL DEFAULT '0', - `Datum` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', + `Datum` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', `Text` text NOT NULL, `UID` int(11) NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; @@ -395,7 +395,7 @@ CREATE TABLE `User` ( `Sprache` char(64) NOT NULL, `Menu` char(1) NOT NULL DEFAULT 'L', `lastLogIn` int(11) NOT NULL, - `CreateDate` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', + `CreateDate` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', `Art` varchar(30) DEFAULT NULL, `kommentar` text, `Hometown` varchar(255) NOT NULL DEFAULT '', @@ -411,7 +411,7 @@ CREATE TABLE `User` ( -- INSERT INTO `User` (`UID`, `Nick`, `Name`, `Vorname`, `Alter`, `Telefon`, `DECT`, `Handy`, `email`, `email_shiftinfo`, `jabber`, `Size`, `Passwort`, `password_recovery_token`, `Gekommen`, `Aktiv`, `force_active`, `Tshirt`, `color`, `Sprache`, `Menu`, `lastLogIn`, `CreateDate`, `Art`, `kommentar`, `Hometown`, `api_key`, `got_voucher`, `arrival_date`, `planned_arrival_date`, `planned_departure_date`) VALUES -(1, 'admin', 'Gates', 'Bill', 42, '', '-', '', 'admin@example.com', 1, '', 'XL', '$6$rounds=5000$hjXbIhoRTH3vKiRa$Wl2P2iI5T9iRR.HHu/YFHswBW0WVn0yxCfCiX0Keco9OdIoDK6bIAADswP6KvMCJSwTGdV8PgA8g8Xfw5l8BD1', NULL, 1, 1, 0, 1, 0, 'de_DE.UTF-8', 'L', 1474990948, '0000-00-00 00:00:00', '', '', '', '038850abdd1feb264406be3ffa746235', 0, 1439490478, 1436964455, 1440161255); +(1, 'admin', 'Gates', 'Bill', 42, '', '-', '', 'admin@example.com', 1, '', 'XL', '$6$rounds=5000$hjXbIhoRTH3vKiRa$Wl2P2iI5T9iRR.HHu/YFHswBW0WVn0yxCfCiX0Keco9OdIoDK6bIAADswP6KvMCJSwTGdV8PgA8g8Xfw5l8BD1', NULL, 1, 1, 0, 1, 0, 'de_DE.UTF-8', 'L', 1474990948, '0001-01-01 00:00:00', '', '', '', '038850abdd1feb264406be3ffa746235', 0, 1439490478, 1436964455, 1440161255); -- -------------------------------------------------------- diff --git a/db/migrations/2018_01_01_000003_fix_old_tables.php b/db/migrations/2018_01_01_000003_fix_old_tables.php new file mode 100644 index 00000000..31aa15ae --- /dev/null +++ b/db/migrations/2018_01_01_000003_fix_old_tables.php @@ -0,0 +1,41 @@ +schema->getConnection(); + + foreach ( + [ + 'User' => 'CreateDate', + 'NewsComments' => 'Datum', + ] as $table => $column) { + if (!$this->schema->hasTable($table)) { + continue; + } + + $connection + ->table($table) + ->where($column, '<', '0001-01-01 00:00:00') + ->update([$column => '0001-01-01 00:00:00']); + + $this->schema->table($table, function (Blueprint $table) use ($column) { + $table->dateTime($column)->default('0001-01-01 00:00:00')->change(); + }); + } + } + + /** + * Reverse the migration + */ + public function down() + { + } +} -- cgit v1.2.3-54-g00ecf