CREATE TABLE `addresses` ( `id` bigint(20) UNSIGNED NOT NULL, `user_id` bigint(20) UNSIGNED NOT NULL, `first_name` varchar(64) NOT NULL, `last_name` varchar(64) NOT NULL, `street` varchar(64) NOT NULL, `house_number` varchar(64) NOT NULL, `city` varchar(64) NOT NULL, `postal_code` varchar(64) NOT NULL, `country` varchar(2) NOT NULL, `last_updated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE `users` ( `id` bigint(20) UNSIGNED NOT NULL, `email` varchar(64) NOT NULL, `password_hash` varchar(512) NOT NULL DEFAULT 'password-hash', `first_name` varchar(64) NOT NULL, `last_name` varchar(64) NOT NULL, `birthday` date NOT NULL, `billing_address_id` int(20) UNSIGNED DEFAULT NULL, `shipping_address_id` int(20) UNSIGNED DEFAULT NULL, `last_updated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ALTER TABLE `addresses` ADD PRIMARY KEY (`id`); ALTER TABLE `users` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `email` (`email`); ALTER TABLE `addresses` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; ALTER TABLE `users` MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; COMMIT;