【问题标题】:How to pass file content as argument to app/console?如何将文件内容作为参数传递给应用程序/控制台?
【发布时间】:2015-11-03 13:52:42
【问题描述】:

我正在寻找一种将 SQL 文件作为 app/console doctrine:query:sql 的参数传递的方法...

我尝试了什么:

php app/console doctrine:query:sql < myfile.sql

cat myfile.sql | php app/console doctrine:query:sql

但没有任何效果。

我在任何文档中都没有找到任何关于这样做的方法。

这里是sql文件内容的那种:

-- MySQL dump 10.13  Distrib 5.5.46, for debian-linux-gnu (x86_64)
--
-- Host: localhost    Database: preprod
-- ------------------------------------------------------
-- Server version   5.5.46-0ubuntu0.14.04.2

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `my_table`
--

DROP TABLE IF EXISTS `my_table`;
...

【问题讨论】:

  • 你能显示myfile.sql的内容吗?

标签: php sql symfony unix doctrine


【解决方案1】:
php app/console doctrine:query:sql "`cat myfile.sql`"

【讨论】:

  • bash: /usr/bin/php: 参数列表太长
  • 显然这是一个相当大的文件。 如果你没有多行语句,你可以试试while read sql; do php app/console doctrine:query:sql "$sql"; done &lt; myfile.sql之类的,但坦率地说,你最好用普通的mysql客户端。
  • 是的...它太长了,它无法解析文件的第一行...我会找到另一种方法,谢谢
  • 可能是一个有趣的 PR,所以这个命令可以接受文件路径。
猜你喜欢
  • 2012-05-08
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多