h5 app开发 网站建设/提高搜索引擎检索效果的方法
程序和mysql打包
几年前,Chrome团队宣布了打包的应用程序-行为类似于本机的应用程序,可以访问您计算机的大部分硬件。 从那时起,我们已经看到了终端仿真器,IRC客户端,IDE,真正的3D游戏以及更多其他功能。
ChromeMyAdmin
我想借此机会回顾一下Yoichiro Tanaka的打包应用程序ChromeMyAdmin 。
我个人认为MySQL / MariaDB数据库管理环境特别贫乏。 一方面通常是不稳定MySQL Workbench,另一方面是the肿但开发不完善的PhpMyAdmin,有时您只需要一个更简单的解决方案即可进行快速而肮脏的编辑。
让我们旋转一下,看看它是如何工作的。
正在安装
转到“ 网上商店”页面并安装该应用程序。 它应立即显示在您的Chrome应用启动器中。 在Windows上,如下图所示:
启动界面简单流畅,具有熟悉的Bootstrap外观:
无家可归
如果您阅读过我以前的任何文章,您就会知道我不赞成使用SDK,编程语言及其运行时或数据库驱动程序来污染我的日常计算机。 我制作了一个简单的Vagrantfile,它启动了一个14.04 Ubuntu服务器实例,该实例已预安装MySQL,并启用了远程连接。 这意味着您可以从主机插入虚拟机的数据库,并且仍然使主机清除不需要的软件。
如果您不熟悉Vagrant和上述虚拟化方法,请参阅我们以前关于该主题的文章 。
您可以从Github下载Vagrantfile。 完成后,只要安装了Vagrant和VirtualBox,只需将bash放入文件夹(如果在Windows上使用Git Bash)并运行“ vagrant up”。
连接中
VM的IP地址设置为192.168.56.101,因此我们在ChromeMyAdmin的主屏幕中将其用作连接的主机名。 这也是ChromeMyAdmin丢球的第一站-您必须输入端口号-它没有默认值。 这不是一个大问题,但是它会为可用性带来加分。
输入凭据(root,root,如果您使用的是Vagrantfile)后,我们应该能够成功测试连接。
点击“连接”(可能还有“添加到收藏夹”)后,您应该立即看到下一个屏幕,您可以选择一个数据库。
创建和填充数据库
让我们快速浏览一下并创建一个新的数据库。 单击窗口右下角的小加号图标以初始化该过程。 单击数据库选择下拉菜单旁边的左上角的“硬盘”图标,以确保进入“服务器视图”。 将编码选项保留为UTF-8 Unicode默认值,然后输入示例名称,例如“ test”。 然后,您应该在数据库选择下拉列表中看到您的数据库,从中可以选择它。
我们通过点击左下角的小加号图标创建一个新表。 创建一个名为“用户”的表,并将所有其他选项保留为其默认值。 您会注意到ChromeMyAdmin自动创建一个无符号整数字段,该字段会自动递增并使其成为表的主键。 尽管这与我自己的习惯很好地结合在一起,但是我敢肯定,某些人会为此而烦恼,并且无法更改默认行为。 这样的动作绝对应该是可配置的。
使用表列视图框架中的第三个加号按钮“添加新列”,添加字段“ first_name
”,“ last_name
”,“ username
”和“ password
”。 使它们全部为最大varchars。 我在first_name上允许NULL,但在其他字段上不允许。

免费学习PHP!
全面介绍PHP和MySQL,从而实现服务器端编程的飞跃。
原价$ 11.95 您的完全免费
现在,我们需要使用username
字段唯一,以确保没有两个用户具有重叠的用户名。 为此,我们添加一个带有加号图标的索引,该图标以前用作“创建数据库”按钮-应用程序窗口的右下角加号。 使用我在下图中使用的设置。
不要忘记首先单击所选列旁边的“添加”按钮,否则,模态窗口底部行中的“添加”按钮将永远不会激活。
如果您随时对在界面上单击时执行SQL语句感到好奇,请进入“配置”菜单(右上角,在“查询”和电源关闭图标之间),然后选择“查询历史记录”。
现在,我们有了一个定义了一些列和索引的表-让我们使用“查询”窗口创建另外两个表: users_groups
和user_groups
。 在“查询”窗口中(“右上角”选项,“结构”和“配置”之间),粘贴以下内容:
CREATE TABLE `user_groups` (
`id` int ( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
`name` varchar ( 120 ) NOT NULL ,
`slug` varchar ( 120 ) NOT NULL ,
`description` text ,
PRIMARY KEY ( `id` ),
UNIQUE KEY `email_address_UNIQUE` ( `name` ),
UNIQUE KEY `slug_UNIQUE` ( `slug` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8 ;
CREATE TABLE `test` . `users_groups` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`users_id` INT UNSIGNED NOT NULL ,
`groups_id` INT UNSIGNED NOT NULL ,
`main` TINYINT ( 1 ) UNSIGNED NOT NULL DEFAULT 0 ,
PRIMARY KEY ( `id` ),
UNIQUE INDEX `user_group_unique` ( `users_id` ASC , `groups_id` ASC ),
INDEX `users_groups_user_groups_id_idx` ( `groups_id` ASC ),
CONSTRAINT `users_groups_users_id`
FOREIGN KEY ( `users_id` )
REFERENCES `test` . `users` ( `id` )
ON DELETE CASCADE
ON UPDATE CASCADE ,
CONSTRAINT `users_groups_user_groups_id`
FOREIGN KEY ( `groups_id` )
REFERENCES `test` . `user_groups` ( `id` )
ON DELETE CASCADE
ON UPDATE CASCADE );
起初,我很失望地发现ChromeMyAdmin缺少SQL导入工具,但是当我意识到它无法依次执行两个语句时,我感到更加失望。 没关系–粘贴一个CREATE,执行,然后对其他工作进行相同的操作,现在我们有了所有三个表。
CREATE语句还创建了必要的索引和一些外键,以M:M方式将三个表绑定在一起。 但是...我们的外键在哪里?
ChromeMyAdmin在当前的迭代中不支持外键的GUI编辑。 不幸的是,诸如此类的高级功能仍在繁重的开发工作中,仅由一个人完成。
好吧,让我们看看我们还能做什么。
打开user_groups
表并添加两个组:admin和user。 为此,您可以选择表格,然后在顶部导航中选择“行”,最后单击右下角的加号图标。 在当前形式下,ChromeMyAdmin为每种列数据类型提供常规的textarea,并且不会以任何方式预填充值,即使使用默认值也是如此。 但是,我们可以将我们知道的字段设置为autoincrement保留为空,ChromeMyAdmin和MySQL将为我们处理其余的工作。
自动增量效果很好,我们添加了两行:
现在添加两个用户。 随便给它们命名,但尝试给第二个提供相同的用户名。 我们可以看到错误报告的效果很好,除非更改用户名,否则我们将无法添加第二个用户。
但是,自动增量仍然会触发,我们的第二个用户现在的ID为3而不是2。
当然,这是一个MySQL问题,但是如果采取适当的措施,可以很容易避免 。
最后,让我们添加一些users_groups
条目。 在现代MySQL管理工具中,在表中添加新行,并在表中绑定外键,这将使输入字段变为下拉菜单,从中可以选择正确的值。 在ChromeMyAdmin中,GUI看起来与将表添加行而不使用外键(纯文本区域)的GUI相同。
如果您尝试添加条目NULL, 5, 5, 0
,则您已成功停止。 毕竟,没有ID = 5的用户或组。让我们添加三个有效条目:
NULL, 1, 1, 1
NULL, 1, 2, 0
NULL, 3, 2, 1
第一个将第一个用户设置为admin,并将admin定义为其主要角色。 第二个也给他一个“用户”角色,只是因为网站的每个用户都应该拥有它。 第三个条目为第二个用户提供了“用户”的主要角色。
定义好这些角色后,让我们看看ChromeMyAdmin如何处理由外键绑定并设置为Cascade的值的删除(正如上面的Create语句定义了它们)。
如您所见,情况可以完美解决。 其背后的逻辑取决于MySQL,但非常重要的一点是要确保ChromeMyAdmin不仅发送正确的命令,而且还刷新所有需要刷新的内容。
在当前版本中,这就是ChromeMyAdmin的范围–对数据库的非常基本的操作,有限的查询历史记录以及某些元素约束,这些约束只能通过通过查询框架进行手动输入来实现。
贡献
你可以找到ChromeMyAdmin的全部源代码在Github和JS MySQL驱动程序是它的权力在它旁边 。 这两个项目都接受捐款,可以使用您的帮助。 Yoichiro将查看您的PR,并逐案批准它们,也可以分叉并制作自己的版本。
如果您决定升级它,请记录一下过程,并告诉我们,我们将为您提供更多的贡献示例 。
结论
最后的提示是什么? ChromeMyAdmin是否值得? 让我们看一下优缺点。
优点
- 自动在您登录的每个Chrome实例上安装,并准备就绪
- 尽管将Bootstrap用于GUI,但是速度很快
- 开源,可以轻松扩展和升级
缺点
- 自动安装,但不传输已保存的连接。 重新添加可能有些偏僻且乏味。
- 没有SSL或其他高级连接选项-仅支持非常基本的连接类型。 在进行本地开发时,这很好,但是在进行生产数据库检查或维护时,可能会使它变得毫无用处。 再说一次,您是否会使用像Workbench这样的庞然大物应用程序以外的其他工具?
- 没有外键
- 无法为多次删除选择多个条目(一次删除多个表,一次删除多个行)
- 无法删除时停用外键检查(在删除带有外键的数据时,尤其是在需要快速重申的开发过程中,这一点非常重要)
- 不能一次执行多个语句
总而言之,ChromeMyAdmin是用于基本数据库管理的不错的工具。 它会自动为您安装,允许您执行基本操作,这是您执行小任务或演示时真正需要的,并且不想安装Workbench,PhpMyAdmin,SequelPro或其他功能更完善的应用程序。 随着时间的流逝,我希望它能Swift发展成可以与目前最好的产品相媲美的东西,但是在那之前,我打算将其用于简单的任务并密切关注它。
你试过了吗? 您会用它替换当前MySQL工具吗? 在下面的评论中让我们知道。
翻译自: https://www.sitepoint.com/mysql-management-packaged-apps/
程序和mysql打包