如何在laravel迁移中添加自定义SQL文件?

6yt4nkrj  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(147)

我有一个用于创建cities表并插入四千条记录SQL文件,
如何在laravel中创建迁移以导入sql或使用它;
该SQL是为特定国家和我需要在mysql数据库表。重要的部分是插入所有这些记录在数据库中。我的SQL文件如下(其只有31个省的部分):

CREATE TABLE `ostan` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `amar_code` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `name_txt` (`name`)
) ENGINE=InnoDB;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ostan`
--

/*!40000 ALTER TABLE `ostan` DISABLE KEYS */;
INSERT INTO `ostan` VALUES (1,'آذربایجان شرقی','3');
INSERT INTO `ostan` VALUES (2,'آذربایجان غربی','4');
INSERT INTO `ostan` VALUES (3,'اردبیل','24');
INSERT INTO `ostan` VALUES (4,'اصفهان','10');
INSERT INTO `ostan` VALUES (5,'البرز','30');
INSERT INTO `ostan` VALUES (6,'ایلام','16');
INSERT INTO `ostan` VALUES (7,'بوشهر','18');
INSERT INTO `ostan` VALUES (8,'تهران','23');
INSERT INTO `ostan` VALUES (9,'چهارمحال وبختیاری','14');
INSERT INTO `ostan` VALUES (10,'خراسان جنوبی','29');
INSERT INTO `ostan` VALUES (11,'خراسان رضوی','9');
INSERT INTO `ostan` VALUES (12,'خراسان شمالی','28');
INSERT INTO `ostan` VALUES (13,'خوزستان','6');
INSERT INTO `ostan` VALUES (14,'زنجان','19');
INSERT INTO `ostan` VALUES (15,'سمنان','20');
INSERT INTO `ostan` VALUES (16,'سیستان وبلوچستان','11');
INSERT INTO `ostan` VALUES (17,'فارس','7');
INSERT INTO `ostan` VALUES (18,'قزوین','26');
INSERT INTO `ostan` VALUES (19,'قم','25');
INSERT INTO `ostan` VALUES (20,'کردستان','12');
INSERT INTO `ostan` VALUES (21,'کرمان','8');
INSERT INTO `ostan` VALUES (22,'کرمانشاه','5');
INSERT INTO `ostan` VALUES (23,'کهگیلویه وبویراحمد','17');
INSERT INTO `ostan` VALUES (24,'گلستان','27');
INSERT INTO `ostan` VALUES (25,'گیلان','1');
INSERT INTO `ostan` VALUES (26,'لرستان','15');
INSERT INTO `ostan` VALUES (27,'مازندران','2');
INSERT INTO `ostan` VALUES (28,'مرکزی','0');
INSERT INTO `ostan` VALUES (29,'هرمزگان','22');
INSERT INTO `ostan` VALUES (30,'همدان','13');
INSERT INTO `ostan` VALUES (31,'یزد','21');
xqk2d5yq

xqk2d5yq1#

您可以在Laravel中导入SQL文件,如下所示:

DB::unprepared(file_get_contents('full/path/to/dump.sql'));

但是即使你能做到这一点,它可能会达到最大执行时间,所以如果你使用laravel从头开始编写迁移,并直接在你的phpMyAdmin或任何你使用的数据库管理器(TablePlus等)上手动导入SQL数据。

相关问题