自从接触docker以来,一直想实现这种玩法。如下是步骤
-
1:建立基于docker的mysql,参考文章
自从接触docker以来,一直想实现这种玩法。如下是步骤
1:建立基于docker的mysql,参考文章
闲来无事,折腾docker也是一种乐趣。
步骤相对简单,可以用来建立对docker使用的兴趣,或者用来作为docker感兴趣的入门材料也不错。
1:拉取php7的docker镜像
docker pull php:7.0-cli
2:在当前文件夹创建test.php,内容如下:
<?php
for ($i = 1; $i < 10; $i++) {
for ($j = 1; $j <= $i; $j++) {
printf ("%2d * %2d = %2d\t",$j, $i, $i*$j);
}
print "\n";
}3:运行docker镜像
$a1 = array("a" => "JAVA", "b" => "ASP");
$a2 = array("c" => "C", "b" => "PHP");
print_r(array_merge($a1, $a2));
print_r(array_merge($a2, $a1));
print_r($a1 + $a2);
print_r($a2 + $a1);$transaction = isset($transaction) ? $transaction : db_transaction();
try {
$ids = array_keys($entities);
db_delete($this->entityInfo['base table'])
->condition($this->idKey, $ids, 'IN')
->execute();
if (isset($this->revisionTable)) {
db_delete($this->revisionTable)
->condition($this->idKey, $ids, 'IN')docker是最近大热的技术,堪称技术界的网红。本着技术人折腾的本性,尝试将本地的MySql服务器改成用docker执行,本文记录折腾过程,以作备忘。
步骤如下:
1:安装docker
自己找文档去
2:使用mysql官方发布的docker image,命令如下
docker pull mysql/mysql-server:5.7.16 ##(这是本文发布时候MySql最新稳定版,并且最好和本地的Mysql版本一致,否则第三步可能会有问题。)
因为GFW的缘故,这个过程有点漫长。命令执行完之后,执行"docker images"看到有mysql-server字样即表示成功了。
3:运行docker images,有几个注意点
$query = db_select('turnover_estimate', 'e');
$query->fields('e');
$query->addExpression("DATE_FORMAT(date, '%Y-%m-%d')", 'date_format');
$res = $query->execute()->fetchAllAssoc('date_format');如上代码可以正确执行。但是略有小坑。
$query->addExpression('DATE_FORMAT(date, "%Y-%m-%d"), 'date_format');注意单引号和双引号,这里的写法会报错。
相关讨论见这里:
匆匆一看,竟然2016年过了一半了,居然还没写过一篇博客。真是罪过罪过。
今天分享一个我经常用的drush命令,用来做数据库方面的操作。我经常这样使用;但是看周围的很似乎很少这么玩。
秉着知识共享,不藏私货的精神,共享出来。
数据库导出:
drush sql-dump > DB.sql drush sql-dump --gzip > DB.tar.gz ###导出数据库并压缩
数据库导入:
drush sqlc < DB.sql gunzip -c DB.tar.gz | drush sqlc ###导入gzip压缩文件
一键解锁Drupal登录锁定
对于有洁癖的人来说,eck的添加路径是不完美的,一般是如下形式:
admin/structure/entity-type/ENTITY_TYPE/BUNDLE/add
这种形式的菜单,一般会调用默认的后台主题进行渲染。
下面的代码,对eck生成的entity,使用自定义的路径,这会带来诸多好处。
代码比较短,复制粘贴到自定义模块即可。
个人是entity重度用户,经常使用entity_metadata_wrapper对entity进行set与get操作。
这是个神器,但是用不好会伤身,伤神。
下面这段代码,用来判断一个entityreference字段是否为空,可以减少很多无谓的报错。
使用Drupal开发过程中,会产生一定的测试数据,比如node,会产生很多的数据;这个时候nid会变得不可控制。
如果想重置nid从1开始,则可以使用如下步骤实现:
1:将所有node删除
2:执行语句:
Copyright © 2026